From 06d34d8c557d983c02dc980c86d21286330b5255 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Sun, 18 Jul 2021 17:17:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=A0=E8=BD=BD=E5=8A=A8?= =?UTF-8?q?=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/scenes/load.lua | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/parts/scenes/load.lua b/parts/scenes/load.lua index b4861356..08cc8873 100644 --- a/parts/scenes/load.lua +++ b/parts/scenes/load.lua @@ -2,7 +2,7 @@ local gc=love.graphics local scene={} -local loading,waitTime +local loading,progress,maxProgress,waitTime local studioLogo--Studio logo text object local logoColor1,logoColor2 @@ -19,7 +19,11 @@ local loadingThread=coroutine.wrap(function() YIELD('loadSFX')SFX.loadAll() YIELD('loadBGM')BGM.loadAll() YIELD('loadImage')IMG.loadAll() - YIELD('loadSkin')SKIN.loadAll() + YIELD('loadSkin') + for i=1,SKIN.getCount()do + SKIN.loadOne() + if i%math.floor(SKIN.getCount()/9)==0 then YIELD()end + end YIELD('loadVoice')VOC.loadAll() YIELD('loadFont')for i=1,17 do getFont(15+5*i)end @@ -135,6 +139,8 @@ end) function scene.sceneInit() studioLogo=gc.newText(getFont(90),"26F Studio") waitTime=0 + progress=0 + maxProgress=10 end function scene.sceneBack() love.event.quit() @@ -142,10 +148,11 @@ end function scene.update(dt) if not LOADED then - loading=loadingThread() + loading=loadingThread()or loading + progress=progress+1 else waitTime=waitTime+dt - if waitTime>.626 then + if waitTime>1 then SCN.swapTo('intro') end end @@ -153,15 +160,19 @@ end function scene.draw() gc.clear(.1,.1,.1) - gc.setColor(1,1,1) - mDraw(TEXTURE.title,640,240,0,.9) + gc.setColor(1,1,1,progress/maxProgress) + mDraw(TEXTURE.title,640,240,0,.9) + gc.setColor(1,1,1,waitTime/.626) + mDraw(TEXTURE.title_color,640,240,0,.9) + + gc.setColor(logoColor1[1],logoColor1[2],logoColor1[3],progress/maxProgress)mDraw(studioLogo,640,400) + gc.setColor(logoColor2[1],logoColor2[2],logoColor2[3],progress/maxProgress)for dx=-2,2,2 do for dy=-2,2,2 do mDraw(studioLogo,640+dx,400+dy)end end + gc.setColor(.2,.2,.2,progress/maxProgress)mDraw(studioLogo,640,400) + + gc.setColor(1,1,1) setFont(30) mStr(text.loadText[loading],640,530) - - gc.setColor(logoColor1)mDraw(studioLogo,640,400) - gc.setColor(logoColor2)for dx=-2,2,2 do for dy=-2,2,2 do mDraw(studioLogo,640+dx,400+dy)end end - gc.setColor(.2,.2,.2)mDraw(studioLogo,640,400) end return scene \ No newline at end of file