topical media & game development
lib-flex-animation-code-02-SeekFleeTest2.ax
lib-flex-animation-code-02-SeekFleeTest2.ax
(swf
)
[ flash
]
flex
package
{
import com.foed.SteeredVehicle;
import com.foed.Vector2D;
import com.foed.Vehicle;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
public class @ax-lib-flex-animation-code-02-SeekFleeTest2 extends Sprite
{
private var _vehicleA:SteeredVehicle;
private var _vehicleB:SteeredVehicle;
private var _vehicleC:SteeredVehicle;
public function @ax-lib-flex-animation-code-02-SeekFleeTest2()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
_vehicleA = new SteeredVehicle();
_vehicleA.position = new Vector2D(200, 200);
_vehicleA.edgeBehavior = Vehicle.BOUNCE;
addChild(_vehicleA);
_vehicleB = new SteeredVehicle();
_vehicleB.position = new Vector2D(400, 200);
_vehicleB.edgeBehavior = Vehicle.BOUNCE;
addChild(_vehicleB);
_vehicleC = new SteeredVehicle();
_vehicleC.position = new Vector2D(300, 260);
_vehicleC.edgeBehavior = Vehicle.BOUNCE;
addChild(_vehicleC);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(event:Event):void
{
_vehicleA.seek(_vehicleB.position);
_vehicleA.flee(_vehicleC.position);
_vehicleB.seek(_vehicleC.position);
_vehicleB.flee(_vehicleA.position);
_vehicleC.seek(_vehicleA.position);
_vehicleC.flee(_vehicleB.position);
_vehicleA.update();
_vehicleB.update();
_vehicleC.update();
}
}
}
(C) Æliens
18/6/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.