添加halloween主题,包括一个bgm,一个按钮主题,主菜单打雷特效,带蜘蛛网的标题和一个南瓜

close #757
This commit is contained in:
MrZ_26
2022-10-26 04:42:00 +08:00
parent b436645ab7
commit 97d4e58d47
13 changed files with 82 additions and 9 deletions

BIN
media/music/antispace.ogg Normal file

Binary file not shown.

View File

@@ -1062,5 +1062,6 @@ return{
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.O,"RRl ",C.P,"RRR ",C.P,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
{C.Y,"O-Spin Triple!"},
{C.Z,"What? ",C.lC,"Xspin?"},
}
},
pumpkin="I'm a pumpkin",
}

View File

@@ -921,4 +921,5 @@ return{
['custom_clear']= {"Personalizado", "Normal"},
['custom_puzzle']= {"Personalizado", "Puzzle"},
},
-- pumpkin="I'm a pumpkin",
}

View File

@@ -883,4 +883,5 @@ return{
['custom_clear']= {"Perso.", "NORMAL"},
['custom_puzzle']= {"Perso.", "PUZZLE"},
},
-- pumpkin="I'm a pumpkin",
}

View File

@@ -1051,5 +1051,6 @@ return{
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.O,"RRl ",C.P,"RRR ",C.P,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
{C.Y,"O-Spin Triple!"},
{C.Z,"Apa? ",C.lC,"X-spin?"},
}
},
-- pumpkin="I'm a pumpkin",
}

View File

@@ -1060,4 +1060,5 @@ getTip={refuseCopy=true,
{C.Y,"O-Spin Triple!"},
{C.Z,"なんだって? ",C.lC,"X-Spin?"},
}
-- pumpkin="I'm a pumpkin",
}

View File

@@ -1028,5 +1028,6 @@ return{
{C.Y,"暫定段位:MO"},
{C.Y,"暫定段位:MV"},
{C.Y,"O-spin Triple!"},
}
},
-- pumpkin="I'm a pumpkin",
}

View File

@@ -1358,5 +1358,6 @@ return{
{C.R,"上班时间不许摸鱼打块!"},
{C.R,"上课时间不许摸鱼打块!"},
{C.W,"uid:225238922"},
}
},
pumpkin="我是南瓜",
}

View File

@@ -931,4 +931,5 @@ return{
['custom_clear']= {"自定義", "普通"},
['custom_puzzle']= {"自定義", "拼圖"},
},
pumpkin="我是南瓜",
}

View File

@@ -103,7 +103,7 @@ local loadingThread=coroutine.wrap(function()
SFX.play('enter',.8)
SFX.play('welcome')
VOC.play('welcome')
THEME.fresh()
THEME.set(THEME.calculate(os.date('%Y'),os.date('%m'),os.date('%d')))
LOADED=true
saveStats()
Z.setPowerInfo(SETTING.powerInfo)

View File

@@ -4,6 +4,7 @@ local verName=("%s %s %s"):format(SYSTEM,VERSION.string,VERSION.name)
local tipLength=760
local tip=GC.newText(getFont(30),"")
local scrollX-- Tip scroll position
local flash=0
local widgetX0={
-10,-10,-10,-10,
@@ -18,6 +19,16 @@ local enterConsole=coroutine.wrap(function()
end
end)
function scene.sceneInit()
if THEME.cur=='halloween' then
TASK.new(function()
TEST.yieldT(.26)
while SCN.stack[#SCN.stack]=='main' do
flash=.355
SFX.play('clear_'..math.random(4,6),1,math.random()*2-1,-9-math.random()*3)
TEST.yieldT(.626+math.random()*6.26)
end
end)
end
BG.set()
-- Set tip
@@ -117,6 +128,7 @@ end
function scene.update(dt)
if dt>.26 then return end
if flash>0 then flash=flash-dt*.6 end
PLAYERS[1]:update(dt)
scrollX=scrollX-162*dt
if scrollX<-tip:getWidth() then
@@ -155,8 +167,41 @@ function scene.draw()
GC.setStencilTest()
GC.pop()
if THEME.cur=='halloween' then
GC.setColor(1,1,1)
GC.mDraw(TEXTURE.spiderweb,480,50,.26,1.26)
GC.mDraw(TEXTURE.spiderweb,816,94.2,.62)
GC.setColor(COLOR.O)
GC.mDraw(TEXTURE.miniBlock[1],1126,90,-.16,40)
GC.setColor(COLOR.lO)
GC.setLineWidth(12)
GC.line(1037,25,1032,101)
GC.line(1099,16,1082,93)
GC.line(1151,16,1113,169)
GC.line(1196,83,1184,159)
GC.line(1244,101,1235,150)
GC.push('transform')
GC.translate(1126,90)
GC.setColor(.1,.5,.1)
GC.setLineWidth(16)
GC.line(20,-30,48,-60,70,-65)
GC.rotate(.162)
GC.setColor(COLOR.D)
FONT.set(20)
GC.mStr(text.pumpkin,0,-13)
GC.pop()
end
-- Player
PLAYERS[1]:draw()
if flash>0 then
GC.replaceTransform(SCR.origin)
GC.setColor(1,1,1,flash)
GC.rectangle('fill',0,0,SCR.w,SCR.h)
GC.replaceTransform(SCR.xOy)
end
end
scene.widgetList={

View File

@@ -110,6 +110,21 @@ do
GC.translate(-10,-10)
end
TEXTURE.spiderweb=NSC(60,60)
do
GC.clear(1,1,1,0)
GC.setLineWidth(1)
GC.push('transform')
GC.translate(30,30)
for i=8,22,6 do
GC.circle('line',0,0,i,7)
end
for i=0,7 do
GC.line(0,0,26*math.cos(MATH.tau/7*i),26*math.sin(MATH.tau/7*i))
end
GC.pop()
end
TEXTURE.multiple=GC.DO{15,15,
{'setLW',3},
{'line',2,2,12,12},

View File

@@ -4,6 +4,7 @@ local THEME={
local themeColor={
xmas={COLOR.lR,COLOR.Z,COLOR.lG},
sprfes={COLOR.lR,COLOR.O,COLOR.lY},
halloween={COLOR.lH,COLOR.O,{COLOR.hsv(0.76, 0.50, 0.42)},{COLOR.hsv(0.33, 0.80, 0.42)}},
}
function THEME.calculate(Y,M,D)
@@ -16,6 +17,10 @@ function THEME.calculate(Y,M,D)
M=='12' and math.abs(D-25)<4 and
'xmas' or
-- Halloween
(M=='11' and D>='28' or M=='12' and D<='04') and
'halloween' or
-- Birthday
M=='06' and D=='06' and
'birth' or
@@ -65,6 +70,10 @@ function THEME.set(theme)
BG.setDefault('firework')
BGM.setDefault('spring festival')
MES.new('info',"★☆新年快乐☆★")
elseif theme=='halloween' then
BG.setDefault('glow')
BGM.setDefault('antispace')
MES.new('info',">>Happy halloween<<")
elseif theme=='zday1' then
BG.setDefault('lanterns')
BGM.setDefault('overzero')
@@ -105,8 +114,4 @@ function THEME.getThemeColor(theme)
return themeColor[theme]
end
function THEME.fresh()
THEME.set(THEME.calculate(os.date('%Y'),os.date('%m'),os.date('%d')))
end
return THEME