4. Tween grouping with BetweenAS3
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
import org.libspark.betweenas3.BetweenAS3;
import org.libspark.betweenas3.tweens.ITween;
import org.libspark.betweenas3.easing.*;
public class Sample extends Sprite
{
public function Sample()
{
(addChild(new TextField()) as TextField).text = 'Click to start';
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
private function mouseUpHandler(e:MouseEvent):void
{
while (numChildren > 0) {
removeChildAt(0);
}
var box1:Box = addNewBox(50);
var box2:Box = addNewBox(150);
var box3:Box = addNewBox(250);
var box4:Box = addNewBox(350);
// Parallel (Start at one time) Tween
BetweenAS3.parallel(
BetweenAS3.tween(box1, {x: 220}, null, 1.2, Cubic.easeOut),
BetweenAS3.tween(box2, {x: 220}, null, 1.2, Cubic.easeOut)
).play();
// Serial (Start in specified order) Tween
BetweenAS3.serial(
BetweenAS3.tween(box3, {x: 220}, null, 1.2, Cubic.easeOut),
BetweenAS3.tween(box4, {x: 220}, null, 1.2, Cubic.easeOut)
).play();
}
private function addNewBox(y:Number):Box
{
var box:Box = new Box();
box.x = 20;
box.y = y;
addChild(box);
return box;
}
}
}
import flash.display.Sprite;
internal class Box extends Sprite
{
public function Box()
{
graphics.beginFill(0);
graphics.drawRect(-10, -10, 20, 20);
graphics.endFill();
}
}