ease, bouncebegin, bounceend

This commit is contained in:
Glenn Maynard
2006-01-23 05:49:22 +00:00
parent a62788fb9f
commit 27327ff6c3
@@ -1,3 +1,55 @@
function Actor:ease(t, fEase)
-- Optimizations:
-- fEase = -100 is equivalent to TweenAccelerate.
if fEase == -100 then
self:accelerate(t);
return;
end
-- fEase = 0 is equivalent to TweenLinear.
if fEase == 0 then
self:linear(t);
return;
end
-- fEase = +100 is equivalent to TweenDecelerate.
if fEase == 100 then
self:decelerate(t);
return;
end
self:tween( t, TweenBezier,
{
0,
scale(fEase, -100, 100, 0/3, 2/3),
scale(fEase, -100, 100, 1/3, 3/3),
1
}
);
end
local BounceBeginBezier =
{
0, 0,
0.42, -0.42,
2/3, 0.3,
1, 1
}
function Actor:bouncebegin(t)
self:tween( t, TweenBezier, BounceBeginBezier );
end
local BounceEndBezier =
{
0,0,
1/3, 0.7,
0.58, 1.42,
1, 1
}
function Actor:bounceend(t)
self:tween( t, TweenBezier, BounceEndBezier );
end
-- Hide if b is true, but don't unhide if b is false.
function Actor:hide_if(b)
if b then