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

Simple Techniques

Simple techniques to demonstrate flash features - class, drawing, events, keyboard input.
Get Adobe Flash player
by cucumkid 01 Nov 2012
    Embed
/**
 * Copyright cucumkid ( http://wonderfl.net/user/cucumkid )
 * GNU General Public License, v3 ( http://www.gnu.org/licenses/quick-guide-gplv3.html )
 * Downloaded from: http://wonderfl.net/c/xQgL
 */

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
    
    public class Main extends Sprite
    {
        
        public var player:Player;
        public var enemy:Enemy;
        public var downKeyIsBeingPressed:Boolean;
        public var upKeyIsBeingPressed:Boolean;
        public var leftKeyIsBeingPressed:Boolean;
        public var rightKeyIsBeingPressed:Boolean;
        
        public function Main():void
        {
            
            addEventListener(Event.ADDED_TO_STAGE, onAddToStage);
            addEventListener(Event.ENTER_FRAME, frameTick);
            
            
            downKeyIsBeingPressed = false;
            upKeyIsBeingPressed = false;
            leftKeyIsBeingPressed = false;
            rightKeyIsBeingPressed = false;
            
            player = new Player();
            addChild(player);
            player.x = 400;
            player.y = 300;
            
            enemy = new Enemy();
            addChild(enemy);
            enemy.x = 200;
            enemy.y = 200;
        
        }
        
        public function onAddToStage(event:Event):void
        {
            stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
            stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
        }
        
        public function onKeyPress(keyboardEvent:KeyboardEvent):void
        {
            if (keyboardEvent.keyCode == Keyboard.DOWN)
            {
                downKeyIsBeingPressed = true;
            }
            else if (keyboardEvent.keyCode == Keyboard.UP)
            {
                upKeyIsBeingPressed = true;
            }
            else if (keyboardEvent.keyCode == Keyboard.LEFT)
            {
                leftKeyIsBeingPressed = true;
            }
            else if (keyboardEvent.keyCode == Keyboard.RIGHT)
            {
                rightKeyIsBeingPressed = true;
            }
        }
        
        public function onKeyRelease(keyboardEvent:KeyboardEvent):void
        {
            if (keyboardEvent.keyCode == Keyboard.DOWN)
            {
                downKeyIsBeingPressed = false;
            }
            else if (keyboardEvent.keyCode == Keyboard.UP)
            {
                upKeyIsBeingPressed = false;
            }
            else if (keyboardEvent.keyCode == Keyboard.LEFT)
            {
                leftKeyIsBeingPressed = false;
            }
            else if (keyboardEvent.keyCode == Keyboard.RIGHT)
            {
                rightKeyIsBeingPressed = false;
            }
        }
        
        public function frameTick(e:Event):void
        {
            if (downKeyIsBeingPressed)
            {
                player.moveByDistance(0, 1);
            }
            else if (upKeyIsBeingPressed)
            {
                player.moveByDistance(0, -1);
            }
            else if (leftKeyIsBeingPressed)
            {
                player.moveByDistance(-1, 0);
            }
            else if (rightKeyIsBeingPressed)
            {
                player.moveByDistance(1, 0);
            }
        }
    }
}

import flash.display.Sprite
    class Player extends Sprite
    { 
        public function Player()
        {
            graphics.beginFill(0xffff00);
            graphics.drawCircle(0, 0, 20);
            graphics.beginFill(0xffffff);
            graphics.drawCircle(-7, -5, 5);
            graphics.drawCircle(7, -5, 5);
            graphics.beginFill(0x000000);
            graphics.drawCircle(-7, -5, 3);
            graphics.drawCircle(7, -5, 3);
            graphics.moveTo(-10, 5);
            graphics.lineStyle(2, 0x000000, 1);
            graphics.endFill();
            graphics.curveTo(0, 10, 10, 5);
        }
        
        public function moveByDistance(xDistance:Number, yDistance:Number):void
        {
            var baseSpeed:int = 5;
            x += xDistance * baseSpeed;
            y += yDistance * baseSpeed;
        }
    }

    class Enemy extends Sprite
    {
        public function Enemy()
        {
            graphics.beginFill(0xff0000);
            graphics.drawCircle(0, 0, 20);
            graphics.beginFill(0x000000);
            graphics.drawCircle( -7, -5, 5);
            graphics.drawCircle( 7, -5, 5);
            graphics.moveTo( -5, 5);
            graphics.lineStyle(2, 0x000000, 1);
            graphics.lineTo(5, 5);
        }
    }