In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

OMGame

Get Adobe Flash player
by dr.crazy2012 06 Jul 2011
    Embed
/**
 * Copyright dr.crazy2012 ( http://wonderfl.net/user/dr.crazy2012 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/hlXR
 */

package {
    import flash.text.TextField;

    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;

    public class Main extends Sprite {
        /* WORLD XYNTA */
        private var GRAVITY:Number = 1;
        private var FRICTION:Number = 0.8;
        /* PLAYER */ 
        private var player:Sprite;
        private var sX:Number, sY:Number;
        
        /* XYNTA */
        private var keys:Array;
        private var tf:TextField;
        
        private var enems:Array;

        public function Main() {
            keys = new Array();
            enems = new Array();
            tf = new TextField();
            tf.text = "Use arrows";
            tf.selectable = false;
            addChild(tf);
            
            // Pilip player'a
            player = new Sprite();
            player.graphics.beginFill(0x000000);
            player.graphics.drawRect(0,0,50,100);
            player.graphics.endFill();
            player.alpha = 0;
            this.addChild(player);
            
            sX = 20;
            sY = 0;
            
            createEnemy(100,100, 0xFF0000, 1.5, 4);
            createEnemy(200,200, 0x00FF00, 3, 9);
            
            /* EVENT LISTENERS */
            this.stage.addEventListener(Event.ENTER_FRAME, updateGame);
            this.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
            this.stage.addEventListener(KeyboardEvent.KEY_UP, keyUpListener);
       }
       
       private function updateGame(e:Event):void
       {
           /* UPDATING PLAYER */
           player.x += sX;
           player.y += sY;
           
           if(player.y + player.height > stage.stageHeight)
           {
               sY = 0;
               player.y = stage.stageHeight - player.height;
           }
           
           sX *= FRICTION;
           sY += GRAVITY;
           
           if(keys[37])
           {
               player.rotation = -5;
               sX = -5;
           }
           else if(keys[39])
           {
               player.rotation = 5;
               sX = 5;
           }
           else
           {
               player.rotation = 0;
           }
           
           if(player.alpha < 1)
           {
               player.alpha += 0.03;
           }
           
           if(player.x < 0)
           {
               player.x = 0;
               sX = 0;
           }
           else if(player.x + player.width > stage.stageWidth)
           {
               player.x = stage.stageWidth - player.width;
               sX = 0;
           }


           for each(var ce:Object in enems)
           {
               ce.view.x += ce.sX;
               ce.view.y += ce.sY;
               
               ce.sX *= FRICTION;
               ce.sY += GRAVITY;
               
               if(ce.view.y + ce.view.height > stage.stageHeight)
               {
                   ce.view.y = stage.stageHeight - ce.view.height;
               }
               
               if(player.x + player.width/2 > ce.view.x + ce.view.width/2)
               {
                   ce.sX = ce.speed;
               }
               else if(player.x + player.width/2 < ce.view.x + ce.view.width/2)
               {
                   ce.sX = -ce.speed;
               }

               if(ce.view.hitTestObject(player) && ce.view.y == stage.stageHeight - ce.view.height)
               {
                   ce.sY = -ce.jumpHeight;
                   if(player.y == stage.stageHeight - player.height)
                   {
                       sY = -5;
                   }
                   sX = ce.sX;
               }



           }

       }
       
       private function keyDownListener(e:KeyboardEvent):void
       {
           keys[e.keyCode] = true;
           if(e.keyCode == 38)
           {
               if(player.y == stage.stageHeight - player.height)
               {
                   sY = -10;
               }

           }
           
           if(e.keyCode == 40)
           {
               
           }


       }
       
       private function keyUpListener(e:KeyboardEvent):void
       {
           keys[e.keyCode] = false;
       }
       
       private function createEnemy(px:Number, py:Number, color:int, speed:Number=4, jumpHeight:Number=5):void
       {
           var newEnemy:Object = new Object();
           newEnemy.view = new Sprite();
           newEnemy.view.graphics.beginFill(color);
           newEnemy.view.graphics.drawRect(0,0,50,80);
           newEnemy.view.graphics.endFill();
           
           newEnemy.sX = new Number(0);
           newEnemy.sY = new Number(0);
           
           newEnemy.view.x = px;
           newEnemy.view.y = py;
           
           newEnemy.speed = new Number(speed);
           newEnemy.jumpHeight = new Number(jumpHeight);
           
           this.addChild(newEnemy.view);
           
           enems.push(newEnemy);
       }



    }
}