91 lines
2.3 KiB
Lua
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;
|