Difference between revisions of "Lily (日本語)"

(Created page with "Lily は LÖVE LÖVE 用の非同期読み込みライブラリです。 独立したスレッドでリソースを読み込めるようにします (つまり、動作速度...")
 
m (Lily v.3.0.6 対応のための更新 (出典元: Lily の Github ページ))
Line 5: Line 5:
 
[[Image (日本語)|Image]], [[ImageData (日本語)|ImageData]], [[Video (日本語)|Video]], [[Source (日本語)|Source]], [[SoundData (日本語)|SoundData]] などの各種リソースに幅広く対応しています。
 
[[Image (日本語)|Image]], [[ImageData (日本語)|ImageData]], [[Video (日本語)|Video]], [[Source (日本語)|Source]], [[SoundData (日本語)|SoundData]] などの各種リソースに幅広く対応しています。
  
後述の用例は Lily v2.0 用です。
+
後述の用例は Lily v3.0.6 用です。
  
 
== 用例 ==
 
== 用例 ==
Line 41: Line 41:
 
{lily.newImage, love.filesystem.newFile("image1-1.png")}, -- または関数オブジェクトを使用できます
 
{lily.newImage, love.filesystem.newFile("image1-1.png")}, -- または関数オブジェクトを使用できます
 
})
 
})
local a = love.timer.getTime()
+
 
 
multilily:onComplete(function(_, lilies)
 
multilily:onComplete(function(_, lilies)
 
image1 = lilies[1][1]
 
image1 = lilies[1][1]

Revision as of 12:33, 17 December 2019

Lily は LÖVE LÖVE 用の非同期読み込みライブラリです。

独立したスレッドでリソースを読み込めるようにします (つまり、動作速度向上になります)。 Lily は love-loader よりも性能が良く、より多くのスレッドと関数を扱えます。

Image, ImageData, Video, Source, SoundData などの各種リソースに幅広く対応しています。

後述の用例は Lily v3.0.6 用です。

用例

単独の読み込み

local lily = require("lily")
local myimage
local mysound

function love.load()
	lily.newImage("image.png"):onComplete(function(userdata, image)
		-- In v2.0, there's "userdata" before the return value
		myimage = image
	end)
	lily.newSource("song.wav"):onComplete(function(userdata, sound)
		-- In v2.0, there's "userdata" before the return value
		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

リンク

そのほかの言語