package { import flash.display.Sprite; import flash.events.Event; import flash.events.KeyboardEvent; import flash.text.TextField; import flash.ui.Keyboard; /** $(CBI)* ... $(CBI)* @author Mongellor $(CBI)*/ public class Main extends Sprite { //ivme,sürtünme,sürat limiti,eksenlere göre süratlar için değişkenler. public var acc:Number = 0.2; public var fric:Number = 0.98; public var vLimit:Number = 5; public var vx:Number = 0; public var vy:Number = 0; //Hareket için gerekli değişkenler. public var sag:Boolean = false; public var sol:Boolean = false; public var ust:Boolean = false; public var alt:Boolean = false; //Obje için gerekli değişken. public var o:Obje; //Ekranda süratı gösterecek olan değişken. public var v:TextField; public function Main():void { //Hareket ettirdiğimiz objeyi yeniden tanımladık. o = new Obje(); addChild(o); o.x = 15; o.y = 15; //Süratı gösterecek olan değişkeni tanımladık ve ekledik. v = new TextField(); addChild(v); //Fonksiyonlar için gerekli olan eventlistener' lar. stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onKeyDown(e:KeyboardEvent):void { if (e.keyCode == Keyboard.RIGHT) { sag = true; } if (e.keyCode == Keyboard.LEFT) { sol = true; } if (e.keyCode == Keyboard.UP) { ust = true; } if (e.keyCode == Keyboard.DOWN) { alt = true; } } public function onKeyUp(e:KeyboardEvent):void { if (e.keyCode == Keyboard.RIGHT) { sag = false; } if (e.keyCode == Keyboard.LEFT) { sol = false; } if (e.keyCode == Keyboard.UP) { ust = false; } if (e.keyCode == Keyboard.DOWN) { alt = false; } } public function onEnterFrame(e:Event):void { o.x += vx; o.y += vy; vx *= fric; vy *= fric; v.text = "vx: " + vx + " vy: " + vy; if (sag) { vx += acc; } if (sol) { vx -= acc; } if (ust) { vy -= acc; } if (alt) { vy += acc; } // Hız limiti belirleyen if komutları. if (vx >= vLimit) { vx = vLimit; } else if (vx <= -(vLimit)) { vx = -(vLimit); } if (vy >= vLimit) { vy = vLimit; } else if (vy <= -(vLimit)) { vy = -(vLimit); } //Ekranın dışına çıkamamamız için gerekli if komutları. if (o.x <= 0) { vx = 0; o.x = o.width / 2-5; } if (o.x + o.width >= stage.stageWidth) { vx = 0; o.x =stage.stageWidth- o.width / 2-7; } if (o.y <= 0) { vy = 0; o.y = o.height / 2 - 5; } if (o.y+o.height >= stage.stageHeight) { o.y = stage.stageHeight - o.height / 2 - 7; } } } }