OwlShield

Surat,Ivme,HizLimiti,AS3-Mongellor_2

Jan 30th, 2013
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.events.Event;
  5.     import flash.events.KeyboardEvent;
  6.     import flash.text.TextField;
  7.     import flash.ui.Keyboard;
  8.    
  9.     /**
  10.     $(CBI)* ...
  11.     $(CBI)* @author Mongellor
  12.     $(CBI)*/
  13.     public class Main extends Sprite
  14.     {
  15.         //ivme,sürtünme,sürat limiti,eksenlere göre süratlar için değişkenler.
  16.         public var acc:Number = 0.2;
  17.         public var fric:Number = 0.98;
  18.         public var vLimit:Number = 5;
  19.         public var vx:Number = 0;
  20.         public var vy:Number = 0;
  21.        
  22.         //Hareket için gerekli değişkenler.
  23.         public var sag:Boolean = false;
  24.         public var sol:Boolean = false;
  25.         public var ust:Boolean = false;
  26.         public var alt:Boolean = false;
  27.        
  28.         //Obje için gerekli değişken.
  29.         public var o:Obje;
  30.        
  31.         //Ekranda süratı gösterecek olan değişken.
  32.         public var v:TextField;
  33.        
  34.         public function Main():void
  35.         {
  36.             //Hareket ettirdiğimiz objeyi yeniden tanımladık.
  37.             o = new Obje();
  38.             addChild(o);
  39.             o.x = 15;
  40.             o.y = 15;
  41.            
  42.             //Süratı gösterecek olan değişkeni tanımladık ve ekledik.
  43.             v = new TextField();
  44.             addChild(v);
  45.            
  46.             //Fonksiyonlar için gerekli olan eventlistener' lar.
  47.             stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
  48.             stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
  49.             addEventListener(Event.ENTER_FRAME, onEnterFrame);
  50.         }
  51.         public function onKeyDown(e:KeyboardEvent):void
  52.         {
  53.             if (e.keyCode == Keyboard.RIGHT)
  54.             {
  55.                 sag = true;
  56.             }
  57.             if (e.keyCode == Keyboard.LEFT)
  58.             {
  59.                 sol = true;
  60.             }
  61.             if (e.keyCode == Keyboard.UP)
  62.             {
  63.                 ust = true;
  64.             }
  65.             if (e.keyCode == Keyboard.DOWN)
  66.             {
  67.                 alt = true;
  68.             }
  69.         }
  70.        
  71.         public function onKeyUp(e:KeyboardEvent):void
  72.         {
  73.             if (e.keyCode == Keyboard.RIGHT)
  74.             {
  75.                 sag = false;
  76.             }
  77.             if (e.keyCode == Keyboard.LEFT)
  78.             {
  79.                 sol = false;
  80.             }
  81.             if (e.keyCode == Keyboard.UP)
  82.             {
  83.                 ust = false;
  84.             }
  85.             if (e.keyCode == Keyboard.DOWN)
  86.             {
  87.                 alt = false;
  88.             }
  89.         }
  90.        
  91.         public function onEnterFrame(e:Event):void
  92.         {
  93.             o.x += vx;
  94.             o.y += vy;
  95.             vx *= fric;
  96.             vy *= fric;
  97.            
  98.             v.text = "vx: " + vx + "  vy: " + vy;
  99.            
  100.             if (sag)
  101.             {
  102.             vx += acc;
  103.             }
  104.             if (sol)
  105.             {
  106.             vx -= acc;
  107.             }
  108.             if (ust)
  109.             {
  110.             vy -= acc;
  111.             }
  112.             if (alt)
  113.             {
  114.             vy += acc;
  115.             }
  116.            
  117.             // Hız limiti belirleyen if komutları.
  118.             if (vx >= vLimit)
  119.             {
  120.                 vx = vLimit;
  121.             }
  122.             else if (vx <= -(vLimit))
  123.             {
  124.                 vx = -(vLimit);
  125.             }
  126.             if (vy >= vLimit)
  127.             {
  128.                 vy = vLimit;
  129.             } else if (vy <= -(vLimit))
  130.             {
  131.                 vy = -(vLimit);
  132.             }
  133.            
  134.             //Ekranın dışına çıkamamamız için gerekli if komutları.
  135.             if (o.x <= 0)
  136.             {
  137.                 vx = 0;
  138.                 o.x = o.width / 2-5;
  139.             }
  140.             if (o.x + o.width >= stage.stageWidth)
  141.             {
  142.                 vx = 0;
  143.                 o.x =stage.stageWidth- o.width / 2-7;
  144.             }
  145.             if (o.y <= 0)
  146.             {
  147.                 vy = 0;
  148.                 o.y = o.height / 2 - 5;
  149.             }
  150.             if (o.y+o.height >= stage.stageHeight)
  151.             {
  152.                 o.y = stage.stageHeight - o.height / 2 - 7;
  153.             }
  154.         }
  155.        
  156.        
  157.     }
  158.    
  159. }
Advertisement
Add Comment
Please, Sign In to add comment