/** * BetweenAS3の遅延使用時における動作検証 * 同一オブジェクトに複数の遅延トゥイーンを設定した場合、 * 2番目以降のトゥイーンで第3引数をnullにすると挙動が怪しいかも… * * Test A と Test B はともにボールのx座標を(0→300→0)と * トゥイーンさせているデモになります。 * * Test Aではserialを利用。serial利用時には問題はない。 * Test Bで、Ballが右側にいったときに、x座標が飛んでしまう */ package { import flash.display.*; import flash.events.* import org.libspark.betweenas3.BetweenAS3; import org.libspark.betweenas3.easing.*; import com.bit101.components.*; public class FlashTest extends Sprite { private var ball:Sprite; public function FlashTest() { ball = createBall(); addChild(ball); new PushButton(this, 10, 300, "Test A", testA); new PushButton(this, 150, 300, "Test B", testB); } private function testA(e:Event):void { BetweenAS3.serial( BetweenAS3.delay( BetweenAS3.tween(ball, {x:300}, {x:0}, 1, Expo.easeInOut), 0.5), BetweenAS3.delay( BetweenAS3.tween(ball, {x:0}, null, 2, Expo.easeInOut), 1) ).play(); } private function testB(e:Event):void { BetweenAS3.delay( BetweenAS3.tween(ball, {x:300}, {x:0}, 2, Expo.easeInOut), 0.5).play(); BetweenAS3.delay( BetweenAS3.tween(ball, {x:0}, null, 2, Expo.easeInOut), 4).play(); } private function createBall():Sprite{ var ball:Sprite = new Sprite(); ball.graphics.beginFill(0xFF0000); ball.graphics.drawCircle(100,100,100); return ball; } } } [BetweenAS3]delayの検証