Simple Techniques
Simple techniques to demonstrate flash features - class, drawing, events, keyboard input.
/**
* 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);
}
}