+ yellow rings

This commit is contained in:
FajsiEx 2021-10-28 14:54:31 +02:00
parent 67eb3cdcaf
commit 9ca655400b
1 changed files with 93 additions and 8 deletions

View File

@ -11,16 +11,30 @@ local trackCompImage = gfx.CreateSkinImage("gameplay/track_end/track_comp.png",
local particleRedBall = gfx.CreateSkinImage("gameplay/track_end/particles/red_ball.png", 0)
local particleRedRing = gfx.CreateSkinImage("gameplay/track_end/particles/red_ring.png", 0)
local particleYellowRing = gfx.CreateSkinImage("gameplay/track_end/particles/yellow_ring.png", 0)
local particleSmallRainbowRing = gfx.CreateSkinImage("gameplay/track_end/particles/small_rainbow_ring.png", 0)
local particleSmYellowRingA = gfx.CreateSkinImage("gameplay/track_end/particles/small_yellow_ring_1.png", 0)
local particleSmYellowRingB = gfx.CreateSkinImage("gameplay/track_end/particles/small_yellow_ring_2.png", 0)
local particleSmYellowRingC = gfx.CreateSkinImage("gameplay/track_end/particles/small_yellow_ring_4.png", 0)
local outroTransitionScale = 0;
local outroTransitionGlobalAlpha = 0;
local outroTransitionEnterFlareX = -1920;
local outroTransitionTextCutX = 0;
local outroTransitionFlareRedX = -500;
local outroTransitionParticleRedX = -500;
local outroTransitionParticleSmallRainbowX = 1080;
local outroTransitionParticleSmallYellowRingAX = 1080;
local outroTransitionParticleSmallYellowRingBX = 1080;
local outroTransitionParticleSmallYellowRingCX = 1080;
local tickTransitions = function (deltaTime)
if outroTransitionScale < 1 then
outroTransitionScale = outroTransitionScale + deltaTime / 15 -- transition should last for that time in seconds
outroTransitionScale = outroTransitionScale + deltaTime / 3.5 -- transition should last for that time in seconds
else
outroTransitionScale = 1
end
@ -37,18 +51,47 @@ local tickTransitions = function (deltaTime)
(1920) -- reveal this amount during the transition (the whole width)
)-0); -- start from 0
outroTransitionFlareRedX = math.min(1080+150, (
Easing.outQuad(math.min(1,
(outroTransitionScale-0.25)/0.2) -- Last from 0.25 transition scale for 0.2 transition scale, ending at 0.45 TS
)*
local particleTransitionScale = Easing.outQuad(math.min(1,
(outroTransitionScale-0.25)/0.2) -- Last from 0.25 transition scale for 0.2 transition scale, ending at 0.45 TS
)
outroTransitionParticleRedX = math.min(1080+150, (
particleTransitionScale*
(1080+150) -- reveal this amount during the transition (the whole width)
)-500); -- start from -500 (off-screen)
outroTransitionParticleSmallRainbowX = math.max(-1080-250, (
particleTransitionScale*
(-1080-250) -- reveal this amount during the transition (the whole width)
)+1080); -- start from 1080+500 (off-screen)
outroTransitionParticleSmallYellowRingAX = math.max(-1080+0, (
particleTransitionScale*
(-1080+0) -- reveal this amount during the transition (the whole width)
)+1080); -- start from 1080+500 (off-screen)
outroTransitionParticleSmallYellowRingBX = math.max(-1080+250, (
particleTransitionScale*
(-1080+250) -- reveal this amount during the transition (the whole width)
)+1080); -- start from 1080+500 (off-screen)
outroTransitionParticleSmallYellowRingCX = math.max(-1080+200, (
particleTransitionScale*
(-1080+200) -- reveal this amount during the transition (the whole width)
)+1080); -- start from 1080+500 (off-screen)
end
local drawParticles = function ()
gfx.BeginPath();
gfx.ImageRect(
outroTransitionFlareRedX,
outroTransitionParticleRedX-80,
510-80,
787*0.7,
818*0.7,
particleYellowRing,
1,
0
);
gfx.BeginPath();
gfx.ImageRect(
outroTransitionParticleRedX,
510,
787*0.5,
818*0.5,
@ -58,7 +101,7 @@ local drawParticles = function ()
);
gfx.BeginPath();
gfx.ImageRect(
outroTransitionFlareRedX,
outroTransitionParticleRedX,
510,
787*0.5,
818*0.5,
@ -66,6 +109,48 @@ local drawParticles = function ()
1,
0
);
-- Right side
gfx.BeginPath();
gfx.ImageRect(
outroTransitionParticleSmallRainbowX,
465,
1117*0.5,
1117*0.5,
particleSmallRainbowRing,
1,
0
);
gfx.BeginPath();
gfx.ImageRect(
outroTransitionParticleSmallYellowRingAX,
575,
579*0.5,
557*0.5,
particleSmYellowRingA,
1,
0
);
gfx.BeginPath();
gfx.ImageRect(
outroTransitionParticleSmallYellowRingBX,
585,
436*0.5,
392*0.5,
particleSmYellowRingB,
1,
0
);
gfx.BeginPath();
gfx.ImageRect(
outroTransitionParticleSmallYellowRingCX,
625,
275*0.5,
275*0.5,
particleSmYellowRingC,
1,
0
);
end
local render = function (deltaTime)