package { import SteeredVehicle; import Vector2D; import Vehicle; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.text.TextField; import flash.text.TextFormat; public class SeekFleeTest1 extends Sprite { private var _seeker:SteeredVehicle;//寻找者(可理解为:警察) private var _fleer:SteeredVehicle;//躲避者(事理解为:小偷) private var _seekerSpeedSlider:SimpleSlider ;//警察的最大速度控制滑块 private var _txtSeekerMaxSpeed:TextField; private var _fleerSpeedSlider:SimpleSlider ;//小偷的最大速度控制滑块 private var _txtFleerMaxSpeed:TextField; public function SeekFleeTest1() { stage.align=StageAlign.TOP_LEFT; stage.scaleMode=StageScaleMode.NO_SCALE; _seeker = new SteeredVehicle(0xff0000); _seeker.position=new Vector2D(); _seeker.edgeBehavior=Vehicle.BOUNCE; addChild(_seeker); _seeker.maxSpeed = 5; _fleer = new SteeredVehicle(0x0000ff); _fleer.position=new Vector2D(stage.stageWidth*Math.random(),stage.stageHeight*Math.random()); _fleer.edgeBehavior=Vehicle.BOUNCE; addChild(_fleer); addEventListener(Event.ENTER_FRAME, onEnterFrame); addSpeedControl(); } //添加速度控制组件 private function addSpeedControl():void{ _seekerSpeedSlider = new SimpleSlider(5,25,10); _seekerSpeedSlider.rotation = 90; _seekerSpeedSlider.x = 150; _seekerSpeedSlider.y = 20; _seekerSpeedSlider.backColor = _seekerSpeedSlider.backBorderColor = _seekerSpeedSlider.handleColor = _seekerSpeedSlider.handleBorderColor = 0xff0000; addChild(_seekerSpeedSlider); _seekerSpeedSlider.addEventListener(Event.CHANGE,onSeekerSpeedChange); _txtSeekerMaxSpeed = new TextField(); var _tfseeker:TextFormat = new TextFormat(); _tfseeker.color = 0xff0000; _txtSeekerMaxSpeed.defaultTextFormat = _tfseeker; _txtSeekerMaxSpeed.text = "10"; addChild(_txtSeekerMaxSpeed); _txtSeekerMaxSpeed.y = _seekerSpeedSlider.y -6; _txtSeekerMaxSpeed.x = _seekerSpeedSlider.x +3; _fleerSpeedSlider = new SimpleSlider(5,25,10); _fleerSpeedSlider.rotation = 90; _fleerSpeedSlider.x = 480; _fleerSpeedSlider.y = 20; _fleerSpeedSlider.backColor = _fleerSpeedSlider.backBorderColor = _fleerSpeedSlider.handleColor = _fleerSpeedSlider.handleBorderColor = 0x0000ff; addChild(_fleerSpeedSlider); _fleerSpeedSlider.addEventListener(Event.CHANGE,onFleerSpeedChange); _txtFleerMaxSpeed = new TextField(); var _tffleer:TextFormat = new TextFormat(); _tffleer.color = 0x0000ff; _txtFleerMaxSpeed.defaultTextFormat = _tffleer; _txtFleerMaxSpeed.text = "10"; addChild(_txtFleerMaxSpeed); _txtFleerMaxSpeed.y = _fleerSpeedSlider.y -6; _txtFleerMaxSpeed.x = _fleerSpeedSlider.x +3; } public function onSeekerSpeedChange(e:Event):void{ _seeker.maxSpeed = _seekerSpeedSlider.value; _txtSeekerMaxSpeed.text = _seekerSpeedSlider.value.toString(); } public function onFleerSpeedChange(e:Event):void{ _fleer.maxSpeed = _fleerSpeedSlider.value; _txtFleerMaxSpeed.text = _fleerSpeedSlider.value.toString(); } private function onEnterFrame(event:Event):void { _seeker.seek(_fleer.position);//警察 抓 小偷 _fleer.flee(_seeker.position);//小偷 躲 警察 _seeker.update(); _fleer.update(); } } }