forked from: [BetweenAS3]delayの検証
BetweenAS3の遅延使用時における動作検証
* 同一オブジェクトに複数の遅延トゥイーンを設定した場合、
* 2番目以降のトゥイーンで第3引数をnullにすると挙動が怪しいかも…
*
* Test A と Test B はともにボールのx座標を(0→300→0)と
* トゥイーンさせているデモになります。
*
* Test Aではserialを利用。serial利用時には問題はない。
* Test Bで、Ballが右側にいったときに、x座標が飛んでしまう
♥0 |
Line 40 |
Modified 2009-11-10 17:09:21 |
MIT License
archived:2017-03-30 10:44:47
ActionScript3 source code
/**
* Copyright 1031no ( http://wonderfl.net/user/1031no )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/qntX
*/
// forked from clockmaker's [BetweenAS3]delayの検証
/**
* 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;
}
}
}