Difference between revisions of "Lily (日本語)"
m (Lily v.3.0.6 対応のための更新 (出典元: Lily の Github ページ)) |
m |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Lily は | + | Lily は LÖVE 用の非同期読み込みライブラリです。 |
独立したスレッドでリソースを読み込めるようにします (つまり、動作速度向上になります)。 Lily は [[love-loader (日本語)|love-loader]] よりも性能が良く、より多くのスレッドと関数を扱えます。 | 独立したスレッドでリソースを読み込めるようにします (つまり、動作速度向上になります)。 Lily は [[love-loader (日本語)|love-loader]] よりも性能が良く、より多くのスレッドと関数を扱えます。 | ||
Line 16: | Line 16: | ||
function love.load() | function love.load() | ||
lily.newImage("image.png"):onComplete(function(userdata, image) | lily.newImage("image.png"):onComplete(function(userdata, image) | ||
− | -- | + | -- これらは v2.0 において、返値を返す前の "userdata" です |
myimage = image | myimage = image | ||
end) | end) | ||
lily.newSource("song.wav"):onComplete(function(userdata, sound) | lily.newSource("song.wav"):onComplete(function(userdata, sound) | ||
− | -- | + | -- これらは v2.0 において、返値を返す前の "userdata" です |
mysound = sound | mysound = sound | ||
sound:play() | sound:play() | ||
Line 32: | Line 32: | ||
end | end | ||
</source> | </source> | ||
+ | |||
=== 複数の読み込み === | === 複数の読み込み === | ||
<source lang="lua"> | <source lang="lua"> |
Latest revision as of 14:07, 17 December 2019
Lily は LÖVE 用の非同期読み込みライブラリです。
独立したスレッドでリソースを読み込めるようにします (つまり、動作速度向上になります)。 Lily は love-loader よりも性能が良く、より多くのスレッドと関数を扱えます。
Image, ImageData, Video, Source, SoundData などの各種リソースに幅広く対応しています。
後述の用例は Lily v3.0.6 用です。
Contents
用例
単独の読み込み
local lily = require("lily")
local myimage
local mysound
function love.load()
lily.newImage("image.png"):onComplete(function(userdata, image)
-- これらは v2.0 において、返値を返す前の "userdata" です
myimage = image
end)
lily.newSource("song.wav"):onComplete(function(userdata, sound)
-- これらは v2.0 において、返値を返す前の "userdata" です
mysound = sound
sound:play()
end)
end
function love.draw()
if myimage then love.graphics.draw(myimage, 0, 24, 0, 0.25, 0.25)
else love.graphics.print("Loading image") end
if not(mysound) then love.graphics.print("Loading song", 0, 12) end
end
複数の読み込み
local lily = require("lily")
function love.load()
multilily = lily.loadMulti({
{"newImage", "image1-0.png"}, -- 文字列
{lily.newImage, love.filesystem.newFile("image1-1.png")}, -- または関数オブジェクトを使用できます
})
multilily:onComplete(function(_, lilies)
image1 = lilies[1][1]
image2 = lilies[2][1]
end)
end
function love.update() end
function love.draw()
if multilily:isComplete() then
love.graphics.draw(image1, -1024, -1024)
love.graphics.draw(image2)
end
end
リンク
- GitHub レポジトリ (取扱説明書も掲載)
- フォーラムのスレッド