皮肤文件分段加载,解谜贴图独立加载
This commit is contained in:
@@ -28,6 +28,7 @@ local list={
|
||||
"white_bone(mrz)",
|
||||
"WTF",
|
||||
}
|
||||
local count=#list
|
||||
local SKIN={}
|
||||
SKIN.lib={}
|
||||
SKIN.libMini={}
|
||||
@@ -50,74 +51,55 @@ SKIN.libColor={
|
||||
color.dRed,
|
||||
color.dGreen,
|
||||
}
|
||||
function SKIN.load()
|
||||
local _
|
||||
function SKIN.getCount()
|
||||
return count
|
||||
end
|
||||
function SKIN.loadOne(_)
|
||||
gc.push()
|
||||
gc.origin()
|
||||
gc.setDefaultFilter("nearest","nearest")
|
||||
gc.setColor(1,1,1)
|
||||
for i=1,#list do
|
||||
SKIN.lib[i],SKIN.libMini[i]={},{}--30/6
|
||||
local N="/image/skin/"..list[i]..".png"
|
||||
local I
|
||||
if love.filesystem.getInfo(N)then
|
||||
I=gc.newImage(N)
|
||||
else
|
||||
I=gc.newImage("/image/skin/"..list[1]..".png")
|
||||
LOG.print("No skin file: "..list[i],"warn")
|
||||
end
|
||||
for j=1,11 do
|
||||
SKIN.lib[i][j]=C(30,30)
|
||||
gc.draw(I,30-30*j,0)
|
||||
SKIN.lib[_],SKIN.libMini[_]={},{}--30/6
|
||||
local N="/image/skin/"..list[_]..".png"
|
||||
local I
|
||||
if love.filesystem.getInfo(N)then
|
||||
I=gc.newImage(N)
|
||||
else
|
||||
I=gc.newImage("/image/skin/"..list[1]..".png")
|
||||
LOG.print("No skin file: "..list[_],"warn")
|
||||
end
|
||||
for j=1,11 do
|
||||
SKIN.lib[_][j]=C(30,30)
|
||||
gc.draw(I,30-30*j,0)
|
||||
|
||||
SKIN.libMini[i][j]=C(6,6)
|
||||
gc.draw(I,6-6*j,0,nil,.2)
|
||||
end
|
||||
for j=1,6 do
|
||||
SKIN.lib[i][11+j]=C(30,30)
|
||||
gc.draw(I,30-30*j,-30)
|
||||
SKIN.libMini[_][j]=C(6,6)
|
||||
gc.draw(I,6-6*j,0,nil,.2)
|
||||
end
|
||||
for j=1,6 do
|
||||
SKIN.lib[_][11+j]=C(30,30)
|
||||
gc.draw(I,30-30*j,-30)
|
||||
|
||||
SKIN.libMini[i][11+j]=C(6,6)
|
||||
gc.draw(I,6-6*j,-6,nil,.2)
|
||||
end
|
||||
I:release()
|
||||
SKIN.libMini[_][11+j]=C(6,6)
|
||||
gc.draw(I,6-6*j,-6,nil,.2)
|
||||
end
|
||||
SKIN.change(SETTING.skinSet)
|
||||
puzzleMark={}
|
||||
gc.setLineWidth(3)
|
||||
for i=1,11 do
|
||||
puzzleMark[i]=C(30,30)
|
||||
_=SKIN.libColor[i]
|
||||
gc.setColor(_[1],_[2],_[3],.6)
|
||||
gc.rectangle("line",5,5,20,20)
|
||||
gc.rectangle("line",10,10,10,10)
|
||||
end
|
||||
for i=12,17 do
|
||||
puzzleMark[i]=C(30,30)
|
||||
gc.setColor(SKIN.libColor[i])
|
||||
gc.rectangle("line",7,7,16,16)
|
||||
end
|
||||
_=C(30,30)
|
||||
gc.setColor(1,1,1)
|
||||
gc.line(5,5,25,25)
|
||||
gc.line(5,25,25,5)
|
||||
puzzleMark[-1]=C(30,30)
|
||||
gc.setColor(1,1,1,.9)
|
||||
gc.draw(_)
|
||||
_:release()
|
||||
I:release()
|
||||
gc.setCanvas()
|
||||
gc.pop()
|
||||
end
|
||||
local L=#list
|
||||
function SKIN.loadAll()
|
||||
for i=1,count do
|
||||
SFX.loadOne(i)
|
||||
end
|
||||
end
|
||||
function SKIN.prevSet()--Prev skin_set
|
||||
local _=(SETTING.skinSet-2)%L+1
|
||||
local _=(SETTING.skinSet-2)%count+1
|
||||
SETTING.skinSet=_
|
||||
SKIN.change(_)
|
||||
_=list[_]
|
||||
TEXT.show(_,1100,100,int(300/#_)+5,"fly")
|
||||
end
|
||||
function SKIN.nextSet()--Next skin_set
|
||||
local _=SETTING.skinSet%L+1
|
||||
local _=SETTING.skinSet%count+1
|
||||
SETTING.skinSet=_
|
||||
SKIN.change(_)
|
||||
_=list[_]
|
||||
|
||||
Reference in New Issue
Block a user