重构模式环境的dropPiece和task事件为更强大的自定义和未来联网任意模式做准备
整理出所有模式的这两个事件独立到一个文件夹并整理所有模式引用它们的方式 警告:很可能有错误,需要他人帮助测试
This commit is contained in:
36
parts/eventsets/rhythm_h.lua
Normal file
36
parts/eventsets/rhythm_h.lua
Normal file
@@ -0,0 +1,36 @@
|
||||
local dropSpeed={[0]=60,50,40,30,24,18,14,10,8,6,5,4,3,2,1,1,.5,.5,.25,.25}
|
||||
|
||||
return{
|
||||
dropPiece=function(P)
|
||||
if P.stat.row>=P.modeData.target then
|
||||
if P.modeData.target==200 then
|
||||
P:win('finish')
|
||||
else
|
||||
P.modeData.bpm=60+3*P.modeData.target/10
|
||||
P.modeData.beatFrame=math.floor(3600/P.modeData.bpm)
|
||||
P.gameEnv.fall=P.modeData.beatFrame
|
||||
P.gameEnv.wait=math.max(P.gameEnv.wait-1,0)
|
||||
P.gameEnv.drop=dropSpeed[P.modeData.target/10]
|
||||
P.modeData.target=P.modeData.target+10
|
||||
SFX.play('reach')
|
||||
end
|
||||
end
|
||||
end,
|
||||
task=function(P)
|
||||
P.modeData.target=10
|
||||
P.modeData.bpm=60
|
||||
P.modeData.beatFrame=60
|
||||
P.modeData.counter=60
|
||||
while true do
|
||||
YIELD()
|
||||
P.modeData.counter=P.modeData.counter-1
|
||||
if P.modeData.counter==0 then
|
||||
P.modeData.counter=P.modeData.beatFrame
|
||||
SFX.play('click',.3)
|
||||
P:switchKey(6,true)
|
||||
P:pressKey(6)
|
||||
P:switchKey(6,false)
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user