升级image模块,不再需要在启动时就加载好图片资源
This commit is contained in:
@@ -1,37 +1,26 @@
|
|||||||
local IMG={
|
local IMG={}
|
||||||
getCount=function()return 0 end,
|
|
||||||
loadOne=function()error("Cannot load before init!")end,
|
|
||||||
loadAll=function()error("Cannot load before init!")end,
|
|
||||||
}
|
|
||||||
function IMG.init(list)
|
function IMG.init(list)
|
||||||
IMG.init=nil
|
IMG.init=nil
|
||||||
local count=0
|
|
||||||
for k,v in next,list do
|
local null=love.graphics.newCanvas(1,1)
|
||||||
count=count+1
|
setmetatable(IMG,{__index=function(self,name)
|
||||||
IMG[k]=v
|
if type(list[name])=='table'then
|
||||||
end
|
self[name]={}
|
||||||
function IMG.getCount()return count end
|
for i=1,#list do
|
||||||
local function load(skip)
|
self[name][i]=love.graphics.newImage(list[name][i])
|
||||||
local loaded=0
|
|
||||||
for k,v in next,list do
|
|
||||||
if type(v)=='string'then
|
|
||||||
IMG[k]=love.graphics.newImage('media/image/'..v)
|
|
||||||
else
|
|
||||||
for i=1,#v do
|
|
||||||
v[i]=love.graphics.newImage('media/image/'..v[i])
|
|
||||||
end
|
|
||||||
IMG[k]=v
|
|
||||||
end
|
|
||||||
loaded=loaded+1
|
|
||||||
if not skip and loaded~=count then
|
|
||||||
coroutine.yield()
|
|
||||||
end
|
end
|
||||||
|
elseif type(list[name])=='string'then
|
||||||
|
self[name]=love.graphics.newImage(list[name])
|
||||||
|
else
|
||||||
|
MES.new('warn',"No BGM: "..name,5)
|
||||||
|
self[name]=null
|
||||||
end
|
end
|
||||||
IMG.loadOne=nil
|
return self[name]
|
||||||
|
end})
|
||||||
|
|
||||||
|
function IMG.loadAll()
|
||||||
|
for k in next,list do local _=IMG[k]end
|
||||||
IMG.loadAll=nil
|
IMG.loadAll=nil
|
||||||
end
|
end
|
||||||
|
|
||||||
IMG.loadOne=coroutine.wrap(load)
|
|
||||||
function IMG.loadAll()load(true)end
|
|
||||||
end
|
end
|
||||||
return IMG
|
return IMG
|
||||||
48
main.lua
48
main.lua
@@ -96,33 +96,33 @@ if SETTING.fullscreen then love.window.setFullscreen(true)end
|
|||||||
|
|
||||||
--Initialize image libs
|
--Initialize image libs
|
||||||
IMG.init{
|
IMG.init{
|
||||||
lock='mess/lock.png',
|
lock='media/image/mess/lock.png',
|
||||||
dialCircle='mess/dialCircle.png',
|
dialCircle='media/image/mess/dialCircle.png',
|
||||||
dialNeedle='mess/dialNeedle.png',
|
dialNeedle='media/image/mess/dialNeedle.png',
|
||||||
lifeIcon='mess/life.png',
|
lifeIcon='media/image/mess/life.png',
|
||||||
badgeIcon='mess/badge.png',
|
badgeIcon='media/image/mess/badge.png',
|
||||||
ctrlSpeedLimit='mess/ctrlSpeedLimit.png',
|
ctrlSpeedLimit='media/image/mess/ctrlSpeedLimit.png',
|
||||||
speedLimit='mess/speedLimit.png',--Not used, for future C2-mode
|
speedLimit='media/image/mess/speedLimit.png',--Not used, for future C2-mode
|
||||||
pay1='mess/pay1.png',
|
pay1='media/image/mess/pay1.png',
|
||||||
pay2='mess/pay2.png',
|
pay2='media/image/mess/pay2.png',
|
||||||
|
|
||||||
miyaCH='characters/miya.png',
|
miyaCH='media/image/characters/miya.png',
|
||||||
miyaF1='characters/miya_f1.png',
|
miyaF1='media/image/characters/miya_f1.png',
|
||||||
miyaF2='characters/miya_f2.png',
|
miyaF2='media/image/characters/miya_f2.png',
|
||||||
miyaF3='characters/miya_f3.png',
|
miyaF3='media/image/characters/miya_f3.png',
|
||||||
miyaF4='characters/miya_f4.png',
|
miyaF4='media/image/characters/miya_f4.png',
|
||||||
nakiCH='characters/nakiharu.png',
|
nakiCH='media/image/characters/nakiharu.png',
|
||||||
xiaoyaCH='characters/xiaoya.png',
|
xiaoyaCH='media/image/characters/xiaoya.png',
|
||||||
electric='characters/electric.png',
|
electric='media/image/characters/electric.png',
|
||||||
hbm='characters/hbm.png',
|
hbm='media/image/characters/hbm.png',
|
||||||
|
|
||||||
lanterns={
|
lanterns={
|
||||||
'lanterns/1.png',
|
'media/image/lanterns/1.png',
|
||||||
'lanterns/2.png',
|
'media/image/lanterns/2.png',
|
||||||
'lanterns/3.png',
|
'media/image/lanterns/3.png',
|
||||||
'lanterns/4.png',
|
'media/image/lanterns/4.png',
|
||||||
'lanterns/5.png',
|
'media/image/lanterns/5.png',
|
||||||
'lanterns/6.png',
|
'media/image/lanterns/6.png',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
SKIN.init{
|
SKIN.init{
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ local loadingThread=coroutine.wrap(function()
|
|||||||
logoColor2={COLOR.rainbow_light(r)}
|
logoColor2={COLOR.rainbow_light(r)}
|
||||||
end
|
end
|
||||||
YIELD('loadSFX')SFX.loadAll()
|
YIELD('loadSFX')SFX.loadAll()
|
||||||
YIELD('loadImage')IMG.loadAll()
|
|
||||||
YIELD('loadSkin')
|
YIELD('loadSkin')
|
||||||
for i=1,SKIN.getCount()do
|
for i=1,SKIN.getCount()do
|
||||||
SKIN.loadOne()
|
SKIN.loadOne()
|
||||||
|
|||||||
Reference in New Issue
Block a user