Files
itgmania212121/NoteSkins/beat/default/Fallback Explosion.lua
T
2013-07-06 21:51:12 -04:00

91 lines
2.3 KiB
Lua

local t = Def.ActorFrame { };
t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Hold Explosion" ) .. {
HoldingOnCommand=function(self)
self:visible(true);
end;
HoldingOffCommand=function(self)
self:visible(false);
end;
InitCommand=function(self)
self:visible(false);
self:finishtweening();
self:blend("BlendMode_Add");
end;
Frames = Sprite.LinearFrames(
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldFrames" ),
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldSeconds" ) );
};
t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Roll Explosion" ) .. {
RollOnCommand=function(self)
self:visible(true);
end;
RollOffCommand=function(self)
self:visible(false);
end;
InitCommand=function(self)
self:visible(false);
self:finishtweening();
self:blend("BlendMode_Add");
end;
Frames = Sprite.LinearFrames(
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldFrames" ),
NOTESKIN:GetMetricF( "GhostArrowDim", "HoldSeconds" ) );
};
t[#t+1] = NOTESKIN:LoadActor( Var "Button", "Tap Explosion Dim" ) .. {
InitCommand=function(self)
self:diffusealpha(0);
self:blend("BlendMode_Add");
end;
HeldCommand=function(self)
self:zoom(1);
self:linear(0.06);
self:zoom(1.1);
self:linear(0.06);
self:diffusealpha(0);
end;
ColumnJudgmentCommand=function(self, params)
if params.TapNoteScore == "TapNoteScore_HitMine" then return; end
self:finishtweening();
self:loop(0);
self:diffusealpha(1);
self:setstate(0);
self:sleep(self:GetAnimationLengthSeconds()-0.001);
self:diffusealpha(0);
end;
Frames = Sprite.LinearFrames(
NOTESKIN:GetMetricF( "GhostArrowDim", "JudgmentFrames" ),
NOTESKIN:GetMetricF( "GhostArrowDim", "JudgmentSeconds" ) );
};
local mine = NOTESKIN:LoadActor( Var "Button", "HitMine Explosion" ) .. {
InitCommand=function(self)
self:diffusealpha(0);
end;
Frames = Sprite.LinearFrames(
NOTESKIN:GetMetricF( "GhostArrowDim", "MineFrames" ),
NOTESKIN:GetMetricF( "GhostArrowDim", "MineSeconds" ) );
};
local Next = "1";
t[#t+1] = Def.ActorFrame {
mine .. { Name="1"; };
mine .. { Name="2"; };
ColumnJudgmentCommand=function(self, params)
if params.TapNoteScore ~= "TapNoteScore_HitMine" then return; end
local c = self:GetChild(Next);
Next = Next == "1" and "2" or "1";
c:stoptweening();
c:setstate(0);
c:diffusealpha(1);
c:sleep(self:GetAnimationLengthSeconds()-0.001);
c:diffusealpha(0);
end;
};
return t;