package { import flash.display.Shape; import flash.display.Sprite; import flash.display.DisplayObjectContainer; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.*; import com.bit101.components.*; [SWF(backgroundColor="#FFFFFF", width="600", height="400", frameRate="12")] public class FishPointTarget extends Sprite { private var targetRadius:Number = 200; private var target:Sprite; private var targetSize:Number = 5; private var targetAngle:Number = 0; private var fish:FishPoint; private var targetYpos:Number = stage.stageHeight/2; public function FishPointTarget() { init(); } private function init():void { target = new Sprite(); // circle target.graphics.lineStyle(1, 0x000099); target.graphics.beginFill(0xff0000); target.graphics.drawCircle(0, 0, targetSize); target.graphics.endFill(); target.name="target"; addChild(target); addEventListener(Event.ENTER_FRAME, onEnterFrame); var targetYpos_sldr:VSlider = new VSlider(this, 50, 20, function(e:Event):void { targetYpos = stage.stageHeight - e.target.value; }); targetYpos_sldr.setSliderParams(0,stage.stageHeight,stage.stageHeight - targetYpos); fish = new FishPoint(); fish.x = stage.stageWidth/2; fish.y = stage.stageHeight/2; fish.zp = 10; addChild(fish); } private function onEnterFrame(event:Event):void { targetAngle = (targetAngle+1) % 360; target.x = stage.stageWidth/2 + targetRadius*Math.cos(targetAngle*Math.PI/180); target.y = targetYpos; target.z = fish.zp + targetRadius*Math.sin(targetAngle*Math.PI/180); } } } // Copyright (c) 2008 David Wilhelm // MIT license: http://www.opensource.org/licenses/mit-license.php