0.9.2:调试界面,新背景,布局微调
This commit is contained in:
@@ -119,30 +119,38 @@ back.game3={
|
||||
BG.resize(scr.w,scr.h)
|
||||
end,
|
||||
resize=function(w,h)
|
||||
SHADER.gradient3:send("w",w*scr.dpi)
|
||||
SHADER.gradient3:send("h",h*scr.dpi)
|
||||
SHADER.rgb1:send("w",w*scr.dpi)
|
||||
SHADER.rgb1:send("h",h*scr.dpi)
|
||||
end,
|
||||
update=function(dt)
|
||||
t=t+dt
|
||||
end,
|
||||
draw=function()
|
||||
SHADER.gradient3:send("t",t)
|
||||
gc.setShader(SHADER.gradient3)
|
||||
SHADER.rgb1:send("t",t)
|
||||
gc.setShader(SHADER.rgb1)
|
||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
||||
gc.setShader()
|
||||
end,
|
||||
}--beautiful RGB
|
||||
}--Colorful RGB
|
||||
back.game4={
|
||||
init=function()
|
||||
t=0
|
||||
BG.resize(scr.w,scr.h)
|
||||
end,
|
||||
resize=function(w,h)
|
||||
SHADER.rgb2:send("w",w*scr.dpi)
|
||||
SHADER.rgb2:send("h",h*scr.dpi)
|
||||
end,
|
||||
update=function(dt)
|
||||
t=t+dt
|
||||
end,
|
||||
draw=function()
|
||||
|
||||
SHADER.rgb2:send("t",t)
|
||||
gc.setShader(SHADER.rgb2)
|
||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
||||
gc.setShader()
|
||||
end,
|
||||
}--Blue strap
|
||||
}--Blue RGB
|
||||
back.game5={
|
||||
init=function()
|
||||
t=0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local IMG={
|
||||
batteryImage="/mess/power.png",
|
||||
titleImage="mess/title.png",
|
||||
coloredTitleImage="mess/title_colored.png",
|
||||
title="mess/title.png",
|
||||
title_color="mess/title_colored.png",
|
||||
dialCircle="mess/dialCircle.png",
|
||||
dialNeedle="mess/dialNeedle.png",
|
||||
badgeIcon="mess/badge.png",
|
||||
|
||||
@@ -218,7 +218,7 @@ function mouseClick.mode(x,y,k)
|
||||
cam.x=cam.x-180
|
||||
end
|
||||
elseif _ then
|
||||
loadGame(_)
|
||||
keyDown.mode("return")
|
||||
end
|
||||
end
|
||||
cam.keyCtrl=false
|
||||
@@ -247,8 +247,20 @@ end
|
||||
function keyDown.mode(key)
|
||||
if key=="return"then
|
||||
if mapCam.sel then
|
||||
if mapCam.sel=="custom_clear"or mapCam.sel=="custom_puzzle"then
|
||||
if customSel[11]>1 then
|
||||
if customSel[7]==5 then
|
||||
TEXT.show(text.ai_fixed,640,360,50,"appear")
|
||||
return
|
||||
elseif #preBag>0 then
|
||||
TEXT.show(text.ai_prebag,640,360,50,"appear")
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
mapCam.keyCtrl=false
|
||||
SCN.push()loadGame(mapCam.sel)
|
||||
SCN.push()
|
||||
loadGame(mapCam.sel)
|
||||
end
|
||||
elseif key=="escape"then
|
||||
if mapCam.sel then
|
||||
@@ -316,6 +328,8 @@ function keyDown.custom(key)
|
||||
end
|
||||
elseif key=="q"then
|
||||
SCN.goto("sequence")
|
||||
elseif key=="e"then
|
||||
SCN.swapTo("draw")
|
||||
elseif #key==1 then
|
||||
local T=tonumber(key)
|
||||
if T and T>=1 and T<=5 then
|
||||
@@ -442,6 +456,8 @@ function keyDown.draw(key)
|
||||
if sx and sy then
|
||||
preField[sy][sx]=pen
|
||||
end
|
||||
elseif key=="e"then
|
||||
SCN.swapTo("custom")
|
||||
elseif key=="escape"then
|
||||
SCN.back()
|
||||
elseif key=="c"and kb.isDown("lctrl","rctrl")then
|
||||
|
||||
@@ -71,6 +71,8 @@ local langList={
|
||||
nowPlaying="正在播放:",
|
||||
page="页面:",
|
||||
|
||||
ai_fixed="不能同时开启AI和固定序列",
|
||||
ai_prebag="不能同时开启AI和自定义序列",
|
||||
settingSaved="设置已保存",
|
||||
settingSavingError="设置保存失败:",
|
||||
keyMapSaved="键位设置已保存",
|
||||
@@ -153,7 +155,6 @@ local langList={
|
||||
},
|
||||
staff={
|
||||
"作者:MrZ 邮箱:1046101471@qq.com",
|
||||
"",
|
||||
"使用LOVE2D引擎",
|
||||
"",
|
||||
"程序:MrZ, FinnTenzor",
|
||||
@@ -161,6 +162,7 @@ local langList={
|
||||
"音乐:MrZ, (T0722)",
|
||||
"音效:MrZ",
|
||||
"语音:Miya, MrZ",
|
||||
"官网:渣渣120",
|
||||
"",
|
||||
"特别感谢:",
|
||||
"Flyz, Farter, 蕴空之灵,",
|
||||
@@ -210,8 +212,8 @@ local langList={
|
||||
set3="无尽(3)",
|
||||
set4="隐形(4)",
|
||||
set5="极限(5)",
|
||||
seq="高级设置(q)",
|
||||
draw="初始场地编辑",
|
||||
seq="高级设置(Q)",
|
||||
draw="初始场地编辑(E)",
|
||||
back="返回",
|
||||
},
|
||||
sequence={
|
||||
@@ -231,7 +233,7 @@ local langList={
|
||||
demo="不显示×",
|
||||
copy="复制",
|
||||
paste="粘贴",
|
||||
custom="参数",
|
||||
custom="参数(E)",
|
||||
back="返回",
|
||||
},
|
||||
play={
|
||||
@@ -256,7 +258,6 @@ local langList={
|
||||
quickR="快速重新开始",
|
||||
swap="组合键切换攻击模式",
|
||||
fine="极简操作提示音",
|
||||
spawn="方块生成音",
|
||||
back="返回",
|
||||
},
|
||||
setting_video={
|
||||
@@ -284,10 +285,11 @@ local langList={
|
||||
game="←游戏设置",
|
||||
graphic="画面设置→",
|
||||
sfx="音效",
|
||||
stereo="立体声",
|
||||
spawn="方块生成",
|
||||
bgm="音乐",
|
||||
vib="震动",
|
||||
voc="语音",
|
||||
stereo="立体声",
|
||||
back="返回",
|
||||
},
|
||||
setting_control={
|
||||
@@ -517,6 +519,8 @@ local langList={
|
||||
nowPlaying="正在播放:",
|
||||
page="页面:",
|
||||
|
||||
ai_fixed="不能同时开启电脑玩家和固定序列",
|
||||
ai_prebag="不能同时开启电脑玩家和自定义序列",
|
||||
settingSaved="设置已保存",
|
||||
settingSavingError="设置保存失败:",
|
||||
keyMapSaved="键位设置已保存",
|
||||
@@ -598,14 +602,14 @@ local langList={
|
||||
},
|
||||
staff={
|
||||
"作者:MrZ 邮箱:1046101471@qq.com",
|
||||
"",
|
||||
"使用LOVE2D引擎",
|
||||
"",
|
||||
"程序:MrZ, FinnTenzor",
|
||||
"美术:MrZ, (Gnyar)",
|
||||
"美术:MrZ, (T0722, Gnyar)",
|
||||
"音乐:MrZ, (T0722)",
|
||||
"音效:MrZ",
|
||||
"语音:Miya, MrZ",
|
||||
"官网:渣渣120",
|
||||
"",
|
||||
"特别感谢:",
|
||||
"Flyz, Farter, 蕴空之灵,",
|
||||
@@ -655,8 +659,8 @@ local langList={
|
||||
set3="无尽(3)",
|
||||
set4="隐形(4)",
|
||||
set5="极限(5)",
|
||||
seq="高级设置(q)",
|
||||
draw="初始场地编辑",
|
||||
seq="高级设置(Q)",
|
||||
draw="初始场地编辑(E)",
|
||||
back="返回",
|
||||
},
|
||||
sequence={
|
||||
@@ -701,7 +705,6 @@ local langList={
|
||||
quickR="快速重新开始",
|
||||
swap="组合键切换攻击模式",
|
||||
fine="极简操作提示音",
|
||||
spawn="方块生成音",
|
||||
back="返回",
|
||||
},
|
||||
setting_video={
|
||||
@@ -729,10 +732,11 @@ local langList={
|
||||
game="←游戏设置",
|
||||
graphic="画面设置→",
|
||||
sfx="音效",
|
||||
stereo="立体声",
|
||||
spawn="方块生成",
|
||||
bgm="音乐",
|
||||
vib="震动",
|
||||
voc="语音",
|
||||
stereo="立体声",
|
||||
back="返回",
|
||||
},
|
||||
setting_control={
|
||||
@@ -962,6 +966,8 @@ local langList={
|
||||
nowPlaying="Now Playing:",
|
||||
page="Page:",
|
||||
|
||||
ai_fixed="AI is incompatible with fixed sequence",
|
||||
ai_prebag="AI is incompatible with custom sequence",
|
||||
settingSaved="Settings Saved",
|
||||
settingSavingError="Failed to save settings:",
|
||||
keyMapSaved="Key settings saved",
|
||||
@@ -1040,7 +1046,6 @@ local langList={
|
||||
},
|
||||
staff={
|
||||
"Author: MrZ E-mail: 1046101471@qq.com",
|
||||
"",
|
||||
"Powered by LOVE2D",
|
||||
"",
|
||||
"Program: MrZ, FinnTenzor",
|
||||
@@ -1048,6 +1053,7 @@ local langList={
|
||||
"Music: MrZ, (T0722)",
|
||||
"Sound: MrZ",
|
||||
"Voice: Miya, MrZ",
|
||||
"Web: 渣渣120",
|
||||
"",
|
||||
"Special Thanks:",
|
||||
"Flyz, Farter, 蕴空之灵,",
|
||||
@@ -1089,8 +1095,8 @@ local langList={
|
||||
set3="Inf. (3)",
|
||||
set4="Blind (4)",
|
||||
set5="Master (5)",
|
||||
seq="Advanced(q)",
|
||||
draw="Field Edit",
|
||||
seq="Advanced(Q)",
|
||||
draw="Field Edit(E)",
|
||||
back="Back",
|
||||
},
|
||||
sequence={
|
||||
@@ -1110,7 +1116,7 @@ local langList={
|
||||
demo="Don't show ×",
|
||||
copy="Copy",
|
||||
paste="Paste",
|
||||
custom="Args",
|
||||
custom="Args(E)",
|
||||
back="Back",
|
||||
},
|
||||
play={
|
||||
@@ -1135,7 +1141,6 @@ local langList={
|
||||
quickR="Quick Retry",
|
||||
swap="Key Combination (Change Atk. Mode)",
|
||||
fine="Finesse Error Sound",
|
||||
spawn="Piece Spawning Sound",
|
||||
back="Back",
|
||||
},
|
||||
setting_video={
|
||||
@@ -1163,10 +1168,11 @@ local langList={
|
||||
game="←Game",
|
||||
graphic="Video→",
|
||||
sfx="SFX",
|
||||
stereo="Stereo",
|
||||
spawn="Spawning",
|
||||
bgm="BGM",
|
||||
vib="Vibration",
|
||||
voc="Voice",
|
||||
stereo="Stereo",
|
||||
back="Back",
|
||||
},
|
||||
setting_control={
|
||||
@@ -1396,6 +1402,8 @@ local langList={
|
||||
nowPlaying="~:",
|
||||
page=":",
|
||||
|
||||
ai_fixed="X!!!",
|
||||
ai_prebag="X!!!",
|
||||
settingSaved="~~~",
|
||||
settingSavingError="x!:",
|
||||
keyMapSaved="~~~",
|
||||
@@ -1474,7 +1482,6 @@ local langList={
|
||||
},
|
||||
staff={
|
||||
"Author: MrZ E-mail: 1046101471@qq.com",
|
||||
"",
|
||||
"Powered by LOVE2D",
|
||||
"",
|
||||
"Program: MrZ, FinnTenzor",
|
||||
@@ -1482,6 +1489,7 @@ local langList={
|
||||
"Music: MrZ, (T0722)",
|
||||
"Sound: MrZ",
|
||||
"Voice: Miya, MrZ",
|
||||
"Web: 渣渣120",
|
||||
"",
|
||||
"Special Thanks:",
|
||||
"Flyz, Farter, 蕴空之灵,",
|
||||
@@ -1523,8 +1531,8 @@ local langList={
|
||||
set3="Inf. (3)",
|
||||
set4="Blind (4)",
|
||||
set5="Master (5)",
|
||||
seq="Advanced(q)",
|
||||
draw="Field Edit",
|
||||
seq="Advanced(Q)",
|
||||
draw="Field Edit(E)",
|
||||
back="X",
|
||||
},
|
||||
sequence={
|
||||
@@ -1544,7 +1552,7 @@ local langList={
|
||||
demo="X ×",
|
||||
copy="→__",
|
||||
paste="__→",
|
||||
custom="_?_",
|
||||
custom="_?_(E)",
|
||||
back="X",
|
||||
},
|
||||
play={
|
||||
@@ -1596,10 +1604,11 @@ local langList={
|
||||
game="←Game",
|
||||
graphic="Video→",
|
||||
sfx="#!#",
|
||||
stereo="←~→",
|
||||
spawn="#[]#",
|
||||
bgm="#~#",
|
||||
vib="=~=",
|
||||
voc="~~~",
|
||||
stereo="←~→",
|
||||
back="X",
|
||||
},
|
||||
setting_control={
|
||||
|
||||
@@ -29,13 +29,6 @@ local miniTitle_rect={
|
||||
{14,8,1,6},{19,8,1,6},{15,9,1,1},{16,10,1,1},{17,11,1,1},{18,12,1,1},
|
||||
{21,8,5,1},{21,13,5,1},{21,9,1,4},{25,9,1,4},
|
||||
}
|
||||
local function stencil_miniTitle()
|
||||
for i=1,#miniTitle_rect do
|
||||
local a,b,c,d=unpack(miniTitle_rect[i])
|
||||
gc.rectangle("fill",250+a*30,150+b*30,c*30,d*30)
|
||||
end
|
||||
end
|
||||
|
||||
FX_attack={}--Attack beam
|
||||
FX_badge={}--Badge thrown
|
||||
local function drawAtkPointer(x,y)
|
||||
@@ -116,30 +109,62 @@ function Pnt.load()
|
||||
setFont(25)
|
||||
mStr(S.tip,640,400)
|
||||
end
|
||||
|
||||
local titleTransform={
|
||||
function(t)
|
||||
gc.translate(0,max(50-t,0)^2/25)
|
||||
end,
|
||||
function(t)
|
||||
gc.translate(0,-max(50-t,0)^2/25)
|
||||
end,
|
||||
function(t,i)
|
||||
local d=max(50-t,0)
|
||||
gc.translate(sin(Timer()*3+626*i)*d,cos(Timer()*3+626*i)*d)
|
||||
end,
|
||||
function(t,i)
|
||||
local d=max(50-t,0)
|
||||
gc.translate(sin(Timer()*3+626*i)*d,-cos(Timer()*3+626*i)*d)
|
||||
end,
|
||||
function(t)
|
||||
gc.setColor(1,1,1,min(t*.02,1)+rnd()*.2)
|
||||
end,
|
||||
}
|
||||
function Pnt.intro()
|
||||
local T=sceneTemp
|
||||
gc.stencil(stencil_miniTitle,"replace",1)
|
||||
gc.setStencilTest("equal",1)
|
||||
gc.setColor(1,1,1,min(T,80)*.005)
|
||||
gc.push("transform")
|
||||
gc.translate(250,150)
|
||||
gc.scale(30)
|
||||
gc.rectangle("fill",0,0,26,14)
|
||||
gc.pop()
|
||||
gc.setColor(1,1,1,.06)
|
||||
for i=41,5,-2 do
|
||||
gc.setLineWidth(i)
|
||||
gc.line(200+(T-80)*25,130,(T-80)*25,590)
|
||||
local s=sceneTemp
|
||||
local t=s.t1
|
||||
local T=(t+110)%300
|
||||
if T<30 then
|
||||
gc.setLineWidth(4+(30-T)^1.626/62)
|
||||
else
|
||||
gc.setLineWidth(4)
|
||||
end
|
||||
local L=title
|
||||
gc.push("transform")
|
||||
gc.translate(126,226)
|
||||
for i=1,8 do
|
||||
local T=t-i*15
|
||||
if T>0 then
|
||||
gc.push("transform")
|
||||
gc.setColor(1,1,1,min(T*.025,1))
|
||||
titleTransform[s.r[i]](T,i)
|
||||
local dt=(t+62-5*i)%300
|
||||
if dt<20 then
|
||||
gc.translate(0,abs(10-dt)-10)
|
||||
end
|
||||
gc.polygon("line",L[i])
|
||||
gc.pop()
|
||||
end
|
||||
gc.setStencilTest()
|
||||
if T>=80 then
|
||||
gc.setColor(1,1,1,.5+sin((T-95)/30*3.142)*.5)
|
||||
end
|
||||
gc.pop()
|
||||
t=s.t2
|
||||
if t>=80 then
|
||||
gc.setColor(1,1,1,.6+sin((t-80)*.0626)*.3)
|
||||
mText(drawableText.anykey,640,615+sin(Timer()*3)*5)
|
||||
end
|
||||
end
|
||||
function Pnt.main()
|
||||
gc.setColor(1,1,1)
|
||||
gc.draw(IMG.coloredTitleImage,60,30,nil,1.3)
|
||||
gc.draw(IMG.title_color,60,30,nil,1.3)
|
||||
setFont(30)
|
||||
gc.print(gameVersion,70,125)
|
||||
gc.print(system,610,100)
|
||||
@@ -281,7 +306,7 @@ function Pnt.music()
|
||||
for i=1,BGM.len do
|
||||
gc.print(BGM.list[i],50,90+30*i)
|
||||
end
|
||||
gc.draw(IMG.titleImage,640,310,nil,1.5,nil,206,35)
|
||||
gc.draw(IMG.title,640,310,nil,1.5,nil,206,35)
|
||||
if BGM.nowPlay then
|
||||
setFont(45)
|
||||
gc.setColor(sin(Timer()*.5)*.2+.8,sin(Timer()*.7)*.2+.8,sin(Timer())*.2+.8)
|
||||
@@ -289,7 +314,7 @@ function Pnt.music()
|
||||
local t=-Timer()%2.3/2
|
||||
if t<1 then
|
||||
gc.setColor(1,1,1,t)
|
||||
gc.draw(IMG.coloredTitleImage,640,310,nil,1.5+.1-.1*t,1.5+.3-.3*t,206,35)
|
||||
gc.draw(IMG.title_color,640,310,nil,1.5+.1-.1*t,1.5+.3-.3*t,206,35)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -319,10 +344,10 @@ function Pnt.sequence()
|
||||
setFont(30)
|
||||
local bag=preBag
|
||||
local len=#bag
|
||||
|
||||
|
||||
setFont(40)
|
||||
gc.print(len,120,300)
|
||||
|
||||
|
||||
local L=TEXTURE.miniBlock
|
||||
local x,y=120,126
|
||||
local cx,cy=120,126
|
||||
@@ -540,13 +565,28 @@ function Pnt.pause()
|
||||
gc.push("transform")
|
||||
gc.translate(1026,400)
|
||||
|
||||
--axes
|
||||
--Polygon
|
||||
gc.push("transform")
|
||||
gc.scale((3-2*T)*T)
|
||||
gc.setColor(1,1,1,T*(.5+.3*sin(Timer()*6.26)))gc.polygon("line",S.standard)
|
||||
_=S.color
|
||||
gc.setColor(_[1],_[2],_[3],T*.626)
|
||||
_=S.val
|
||||
for i=1,9,2 do
|
||||
gc.polygon("fill",0,0,_[i],_[i+1],_[i+2],_[i+3])
|
||||
end
|
||||
gc.polygon("fill",0,0,_[11],_[12],_[1],_[2])
|
||||
gc.setColor(1,1,1,T)gc.polygon("line",S.val)
|
||||
gc.pop()
|
||||
|
||||
--Axes
|
||||
gc.setColor(1,1,1,T)
|
||||
for i=1,3 do
|
||||
local x,y=hexList[2*i-1],hexList[2*i]
|
||||
gc.line(-x,-y,x,y)
|
||||
end
|
||||
|
||||
--Texts
|
||||
local C
|
||||
_=Timer()%6.2832
|
||||
if _>3.1416 then
|
||||
@@ -561,16 +601,6 @@ function Pnt.pause()
|
||||
for i=1,6 do
|
||||
mStr(C[i],_[2*i-1],_[2*i])
|
||||
end
|
||||
gc.scale((3-2*T)*T)
|
||||
gc.setColor(1,1,1,T*(.5+.3*sin(Timer()*6.26)))gc.polygon("line",S.standard)
|
||||
_=S.color
|
||||
gc.setColor(_[1],_[2],_[3],T)
|
||||
_=S.val
|
||||
for i=1,9,2 do
|
||||
gc.polygon("fill",0,0,_[i],_[i+1],_[i+2],_[i+3])
|
||||
end
|
||||
gc.polygon("fill",0,0,_[11],_[12],_[1],_[2])
|
||||
gc.setColor(1,1,1,T)gc.polygon("line",S.val)
|
||||
gc.pop()
|
||||
end
|
||||
end
|
||||
@@ -700,7 +730,7 @@ function Pnt.setting_skin()
|
||||
gc.circle("fill",-10+140*N,340,sin(Timer()*10)+5)
|
||||
end
|
||||
for i=1,6 do
|
||||
gc.draw(blockSkin[11+i],1110,100+60*i,nil,2)
|
||||
gc.draw(blockSkin[11+i],570+60*i,610,nil,2)
|
||||
end
|
||||
gc.draw(drawableText.setting_skin,80,50)
|
||||
end
|
||||
@@ -735,7 +765,7 @@ function Pnt.help()
|
||||
end
|
||||
setFont(19)
|
||||
gc.print(text.used,30,330)
|
||||
gc.draw(IMG.titleImage,280,610,.1,1+.05*sin(Timer()*2.6),nil,206,35)
|
||||
gc.draw(IMG.title,280,610,.1,1+.05*sin(Timer()*2.6),nil,206,35)
|
||||
gc.setLineWidth(3)
|
||||
gc.rectangle("line",18,18,263,263)
|
||||
gc.rectangle("line",1012,18,250,250)
|
||||
@@ -755,8 +785,8 @@ function Pnt.staff()
|
||||
for i=1,#L do
|
||||
mStr(L[i],640,800+80*i-t*40)
|
||||
end
|
||||
mDraw(IMG.coloredTitleImage,640,800-t*40,nil,2)
|
||||
mDraw(IMG.coloredTitleImage,640,2160-t*40,nil,2)
|
||||
mDraw(IMG.title_color,640,800-t*40,nil,2)
|
||||
mDraw(IMG.title_color,640,2160-t*40,nil,2)
|
||||
end
|
||||
function Pnt.stat()
|
||||
local chart=sceneTemp.chart
|
||||
@@ -799,7 +829,7 @@ function Pnt.stat()
|
||||
gc.line(40,240+40*y,600,240+40*y)
|
||||
end
|
||||
|
||||
gc.draw(IMG.titleImage,260,615,.2+.04*sin(Timer()*3),nil,nil,206,35)
|
||||
gc.draw(IMG.title,260,615,.2+.04*sin(Timer()*3),nil,nil,206,35)
|
||||
end
|
||||
function Pnt.history()
|
||||
gc.setColor(.2,.2,.2,.7)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local gc=love.graphics
|
||||
local int,log=math.floor,math.log
|
||||
local sin,cos=math.sin,math.cos
|
||||
local max,format=math.max,string.format
|
||||
local int,max,log=math.floor,math.max,math.log
|
||||
local rnd,sin,cos=math.random,math.sin,math.cos
|
||||
local format=string.format
|
||||
local scr=scr
|
||||
local SCN={
|
||||
cur="load",--Current scene
|
||||
@@ -32,12 +32,19 @@ function sceneInit.load()
|
||||
#Modes,
|
||||
1,
|
||||
},
|
||||
skip=false,--if skipping
|
||||
skip=false,--If skipped
|
||||
}
|
||||
end
|
||||
function sceneInit.intro()
|
||||
BG.set("space")
|
||||
sceneTemp=0--animation timer
|
||||
sceneTemp={
|
||||
t1=0,--Timer 1
|
||||
t2=0,--Timer 2
|
||||
r={},--Random animation type
|
||||
}
|
||||
for i=1,8 do
|
||||
sceneTemp.r[i]=rnd(5)
|
||||
end
|
||||
BGM.play("blank")
|
||||
end
|
||||
function sceneInit.main()
|
||||
@@ -47,13 +54,13 @@ function sceneInit.main()
|
||||
modeEnv={}
|
||||
if not players[1]then
|
||||
PLY.newDemoPlayer(1,900,35,1.1)
|
||||
end--create demo player
|
||||
end--Create demo player
|
||||
end
|
||||
function sceneInit.music()
|
||||
if BGM.nowPlay then
|
||||
for i=1,BGM.len do
|
||||
if BGM.list[i]==BGM.nowPlay then
|
||||
sceneTemp=i--music select
|
||||
sceneTemp=i--Music selected
|
||||
return
|
||||
end
|
||||
end
|
||||
@@ -74,7 +81,7 @@ function sceneInit.mode(org)
|
||||
end
|
||||
end
|
||||
function sceneInit.custom()
|
||||
sceneTemp=1--option select
|
||||
sceneTemp=1--Option selected
|
||||
destroyPlayers()
|
||||
BG.set(customRange.bg[customSel[12]])
|
||||
BGM.play(customRange.bgm[customSel[13]])
|
||||
@@ -128,19 +135,22 @@ function sceneInit.pause(org)
|
||||
radar={
|
||||
(S.off+S.dig)/S.time*60,--DefPM
|
||||
(S.off)/S.time*60, --OffPM
|
||||
S.atk/S.time*60, --AtkPM
|
||||
S.send/S.time*60, --SendPM
|
||||
S.piece/S.time*24, --LinePM
|
||||
S.dig/S.time*60, --DigPM
|
||||
S.atk/S.time*60, --AtkPM
|
||||
S.send/S.time*60, --SendPM
|
||||
S.piece/S.time*24, --LinePM
|
||||
S.dig/S.time*60, --DigPM
|
||||
},
|
||||
val={1/80,1/40,1/60,1/60,1/100,1/40},
|
||||
timing=org=="play",
|
||||
}
|
||||
local _=sceneTemp
|
||||
local A,B=_.radar,_.val
|
||||
|
||||
--Normalize Values
|
||||
for i=1,6 do
|
||||
B[i]=B[i]*A[i]if B[i]>1.26 then B[i]=1.26+(B[i]-1.26)*.26 end
|
||||
end--normalize vals
|
||||
B[i]=B[i]*A[i]if B[i]>1.26 then B[i]=1.26+log(B[i]-.26,10)end
|
||||
end
|
||||
|
||||
for i=1,6 do
|
||||
A[i]=format("%.2f",A[i])..text.radarData[i]
|
||||
end
|
||||
|
||||
@@ -36,8 +36,8 @@ end
|
||||
function SFX.fieldPlay(s,v,P)
|
||||
SFX.play(s,v,(P.curX+P.sc[2]-6.5)*.15)
|
||||
end
|
||||
function SFX.play(s,v,pos)
|
||||
if setting.sfx==0 then return end
|
||||
function SFX.play(s,vol,pos,force)
|
||||
if setting.sfx==0 and not force then return end
|
||||
local S=SFX.list[s]--source list
|
||||
if not S then return end
|
||||
local n=1
|
||||
@@ -58,7 +58,11 @@ function SFX.play(s,v,pos)
|
||||
S:setPosition(0,0,0)
|
||||
end
|
||||
end
|
||||
S:setVolume((v or 1)*setting.sfx*.1)
|
||||
if not force then
|
||||
S:setVolume((vol or 1)*setting.sfx*.1)
|
||||
else
|
||||
S:setVolume(vol*.1)
|
||||
end
|
||||
S:play()
|
||||
end
|
||||
function SFX.reset()
|
||||
|
||||
@@ -7,7 +7,8 @@ return{
|
||||
warning=N("warning"),
|
||||
|
||||
aura=N("aura"),
|
||||
gradient1=N("grad1"),--Horizonal
|
||||
gradient2=N("grad2"),--Vertical
|
||||
gradient3=N("grad3"),--Oblique
|
||||
gradient1=N("grad1"),--Horizonal red-blue gradient
|
||||
gradient2=N("grad2"),--Vertical red-green gradient
|
||||
rgb1=N("rgb1"),--colorful RGB
|
||||
rgb2=N("rgb2"),--blue RGB
|
||||
}
|
||||
@@ -5,6 +5,6 @@ vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||
.8-x*.6,
|
||||
.3+.2*sin(t),
|
||||
.15+x*.7,
|
||||
1
|
||||
1.
|
||||
);
|
||||
}
|
||||
@@ -5,6 +5,6 @@ vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||
.8-y*.6,
|
||||
.2+y*.4,
|
||||
.3+.1*sin(t),
|
||||
1
|
||||
1.
|
||||
);
|
||||
}
|
||||
@@ -6,6 +6,6 @@ vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||
.8-y*.6-.2*sin(t/6.26),
|
||||
.3+.1*sin(t),
|
||||
.2+x*.6,
|
||||
1
|
||||
1.
|
||||
);
|
||||
}
|
||||
11
Zframework/shader/rgb2.glsl
Normal file
11
Zframework/shader/rgb2.glsl
Normal file
@@ -0,0 +1,11 @@
|
||||
extern float t,w,h;
|
||||
vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||
float x=scr_pos.x/w;
|
||||
float y=scr_pos.y/h;
|
||||
return vec4(
|
||||
.4-y*.3-.1*sin(t/6.26),
|
||||
.2+.1*sin(t),
|
||||
abs(.7-x*1.2+y*.5*sin(t/16.)),
|
||||
1.
|
||||
);
|
||||
}
|
||||
@@ -55,8 +55,9 @@ function Tmr.load()
|
||||
until not S.skip and Timer()-t>.01
|
||||
end
|
||||
function Tmr.intro()
|
||||
sceneTemp=sceneTemp+1
|
||||
if sceneTemp==200 then sceneTemp=80 end
|
||||
local s=sceneTemp
|
||||
s.t1=s.t1+1
|
||||
s.t2=s.t2+1
|
||||
end
|
||||
function Tmr.main(dt)
|
||||
players[1]:update(dt)
|
||||
|
||||
@@ -32,7 +32,7 @@ function toTime(s)
|
||||
end
|
||||
end
|
||||
function mStr(s,x,y)
|
||||
gc.printf(s,x-400,y,800,"center")
|
||||
gc.printf(s,x-450,y,900,"center")
|
||||
end
|
||||
function mText(s,x,y)
|
||||
gc.draw(s,x-s:getWidth()*.5,y)
|
||||
|
||||
@@ -103,8 +103,13 @@ local Widgets={
|
||||
quit= newButton(590,610,160,100,C.lightGrey, 45,function()VOC.play("bye")SCN.swapTo("quit","slowFade")end,nil,"play"),
|
||||
},
|
||||
mode={
|
||||
setting=newButton(1100, 540,240,90,C.lightGreen, 40,function()SCN.goto("custom")end,function()return mapCam.sel~="custom_clear" and mapCam.sel~="custom_puzzle" end),
|
||||
start= newButton(1040, 655,180,80,C.lightGrey, 40,function()if mapCam.sel then SCN.push()loadGame(mapCam.sel)end end,function()return not mapCam.sel end),
|
||||
setting=newButton(1100, 540,240,90,C.lightGreen, 40,function()
|
||||
SCN.goto("custom")
|
||||
end,
|
||||
function()
|
||||
return mapCam.sel~="custom_clear" and mapCam.sel~="custom_puzzle"
|
||||
end),
|
||||
start= newButton(1040, 655,180,80,C.lightGrey, 40,pressKey("return"),function()return not mapCam.sel end),
|
||||
back= newButton(1200, 655,120,80,C.white, 40,BACK),
|
||||
},
|
||||
music={
|
||||
@@ -126,8 +131,8 @@ local Widgets={
|
||||
set4= newButton(940, 560,260,70, C.lightYellow, 32,pressKey("4")),
|
||||
set5= newButton(940, 640,260,70, C.lightYellow, 32,pressKey("5")),
|
||||
|
||||
seq= newButton(665, 415,200,40, C.lightGreen, 30,function()SCN.goto("sequence")end),
|
||||
draw= newButton(150, 80, 220,80, C.white, 35,function()SCN.swapTo("draw")end),
|
||||
seq= newButton(665, 415,200,40, C.lightGreen, 30,pressKey("q")),
|
||||
draw= newButton(150, 80, 220,80, C.white, 35,pressKey("e")),
|
||||
back= newButton(1200, 640,120,120,C.white, 35,BACK),
|
||||
},
|
||||
sequence={
|
||||
@@ -223,8 +228,7 @@ local Widgets={
|
||||
end,nil,"quickR"),
|
||||
quickR= newSwitch(1050,320,35, SETval("quickR"), SETrev("quickR"), nil,"swap"),
|
||||
swap= newSwitch(1050,400,20, SETval("swap"), SETrev("swap"), nil,"fine"),
|
||||
fine= newSwitch(1050,480,20, SETval("fine"), SETrev("fine"), nil,"spawn"),
|
||||
spawn= newSwitch(1050,560,20, SETval("spawn"), SETrev("spawn"), nil,"back"),
|
||||
fine= newSwitch(1050,480,20, SETval("fine"), SETrev("fine"), nil,"back"),
|
||||
back= newButton(1140,650,200,80,C.white,40,BACK, nil,"graphic"),
|
||||
},
|
||||
setting_video={
|
||||
@@ -259,13 +263,14 @@ local Widgets={
|
||||
back= newButton(1140,650,200,80,C.white,40,BACK,nil,"sound"),
|
||||
},
|
||||
setting_sound={
|
||||
game= newButton(200,80,240,80,C.lightCyan,35,function()SCN.swapTo("setting_game")end, nil,"graphic"),
|
||||
graphic=newButton(1080,80,240,80,C.lightCyan,35,function()SCN.swapTo("setting_video")end, nil,"sfx"),
|
||||
sfx= newSlider(180,250,400,10,35,function()SFX.play("blip_1")end, SETval("sfx"), SETsto("sfx"), nil,"bgm"),
|
||||
bgm= newSlider(750,250,400,10,35,function()BGM.freshVolume()end, SETval("bgm"), SETsto("bgm"), nil,"vib"),
|
||||
vib= newSlider(180,440,400,5 ,28,function()VIB(2)end, SETval("vib"), SETsto("vib"), nil,"voc"),
|
||||
voc= newSlider(750,440,400,10,32,function()VOC.play("nya")end, SETval("voc"), SETsto("voc"), nil,"stereo"),
|
||||
stereo= newSlider(180,630,400,10,35,function()SFX.play("move",1,-1)SFX.play("lock",1,1)end, SETval("stereo"), SETsto("stereo"),function()return setting.sfx==0 end,"back"),
|
||||
game= newButton(200,80,240,80,C.lightCyan,35,function()SCN.swapTo("setting_game")end, nil,"graphic"),
|
||||
graphic=newButton(1080,80,240,80,C.lightCyan,35,function()SCN.swapTo("setting_video")end, nil,"sfx"),
|
||||
sfx= newSlider(180,200,400,10,35,function()SFX.play("blip_1")end, SETval("sfx"), SETsto("sfx"), nil,"stereo"),
|
||||
stereo= newSlider(180,500,400,10,35,function()SFX.play("move",1,-1)SFX.play("lock",1,1)end, SETval("stereo"), SETsto("stereo"),function()return setting.sfx==0 end,"spawn"),
|
||||
spawn= newSlider(180,300,400,10,30,function()SFX.play("spawn_1",setting.spawn,nil,true)end,SETval("spawn"), SETsto("spawn"),nil,"bgm"),
|
||||
bgm= newSlider(180,400,400,10,35,function()BGM.freshVolume()end, SETval("bgm"), SETsto("bgm"), nil,"vib"),
|
||||
vib= newSlider(750,200,400,5 ,28,function()VIB(2)end, SETval("vib"), SETsto("vib"), nil,"voc"),
|
||||
voc= newSlider(750,300,400,10,32,function()VOC.play("nya")end, SETval("voc"), SETsto("voc"), nil,"back"),
|
||||
back= newButton(1140,650,200,80,C.white,40,BACK,nil,"game"),
|
||||
},
|
||||
setting_control={
|
||||
@@ -410,7 +415,7 @@ local Widgets={
|
||||
help={
|
||||
staff= newButton(980,500,150,80,C.white,32,function()SCN.goto("staff")end,nil,"his"),
|
||||
his= newButton(1160,500,150,80,C.white,32,function()SCN.goto("history")end,nil,"qq"),
|
||||
qq= newButton(980,600,150,80,C.white,32,function()love.system.openURL("tencent://message/?uin=1046101471&Site=&Menu=yes")end,mobileHide,"back"),
|
||||
qq= newButton(1070,600,200,80,C.white,32,function()love.system.openURL("tencent://message/?uin=1046101471&Site=&Menu=yes")end,mobileHide,"back"),
|
||||
back= newButton(640,600,200,80,C.white,40,BACK,nil,"staff"),
|
||||
},
|
||||
staff={
|
||||
|
||||
Reference in New Issue
Block a user