// forked from patte88's forked from: forked from: flash on 2010-2-17
package {
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import caurina.transitions.*
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.geom.Point; import flash.geom.Rectangle;
import flash.net.URLRequest;
import mx.controls.Alert;
import flash.events.TimerEvent; import flash.utils.Timer;
import flash.display.Loader; import flash.display.Sprite; import flash.display.BitmapData; import flash.events.Event; import flash.events.MouseEvent; import flash.events.KeyboardEvent; import flash.geom.Rectangle; import flash.geom.Point; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFormat; import flash.system.LoaderContext; import flash.system.Security; import net.hires.debug.Stats;
import flash.display.Sprite;
import flash.text.TextField;
public class KeyboardDemo extends Sprite {
private var intNum:int = 0;
private var player:Sprite;
private var enemy:Sprite;
private var enemy2:Sprite;
public var eyeTimer:Timer = new Timer(1);
public function KeyboardDemo() {
var msgbox:Sprite = new Sprite();
// drawing a white rectangle
msgbox.graphics.beginFill(0xFFFFFF); // white
msgbox.graphics.drawRect(0,0,300,20); // x, y, width, height
msgbox.graphics.endFill();
// drawing a black border
msgbox.graphics.lineStyle(2, 0x000000, 100); // line thickness, line color (black), line alpha or opacity
msgbox.graphics.drawRect(0,0,300,20); // x, y, width, height
var textfield:TextField = new TextField()
textfield.text = "Score: "+ intNum
addChild(msgbox)
addChild(textfield)
eyeTimer.addEventListener(TimerEvent.TIMER, moveEye);
eyeTimer.start();
player = createAvatar(0xFFFF00) // size, color yellow
player.x = 200;
player.y = 100;
addChild(player);
enemy = createEnemy(0xFF0000)
enemy.x = 400;
enemy.y = 400;
addChild(enemy);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
}
private function keyPressedDown(event:KeyboardEvent):void {
var key:uint = event.keyCode;
var step:uint = 25
switch (key) {
case Keyboard.LEFT :
player.x -= step;
break;
case Keyboard.RIGHT :
player.x += step;
break;
case Keyboard.UP :
player.y -= step;
break;
case Keyboard.DOWN :
{
player.y += step;
}
break;
}
}
private function createAvatar(bgColor:uint):Sprite {
var s:Sprite = new Sprite();
s.graphics.beginFill(bgColor);
s.graphics.drawCircle(0, 0, 40);
s.graphics.endFill();
s.graphics.beginFill(0x000000);
s.graphics.drawCircle(-15, -10, 5);
s.graphics.drawCircle(+15, -10, 5);
s.graphics.endFill();
s.graphics.lineStyle(2, 0x000000, 100);
s.graphics.moveTo(-20,15);
//this will define the start point of the curve
s.graphics.curveTo(0,35, 20,15);
//the first two numbers are your control point for the curve
//the last two are the end point of the curve
return s;
}
private function createEnemy(bgColor:uint):Sprite {
var s:Sprite = new Sprite();
s.graphics.beginFill(bgColor);
s.graphics.drawCircle(0, 0, 20);
s.graphics.endFill();
s.graphics.beginFill(0x000000);
s.graphics.drawCircle(-6, -5, 4);
s.graphics.drawCircle(+6, -5, 4);
s.graphics.endFill();
s.graphics.lineStyle(2, 0x000000, 100);
s.graphics.moveTo(-13,8);
//this will define the start point of the curve
s.graphics.curveTo(0,-2, 13,8);
//the first two numbers are your control point for the curve
//the last two are the end point of the curve
return s;
}
private function moveEye(e:TimerEvent):void
{
if(player.x+40<enemy.x){
enemy.x-=1;
var myTween:Tween = new Tween(enemy, "x", None.easeNone, enemy.x+1, enemy.x ,0.0001,true); }
if(player.y+40<enemy.y){
enemy.y-=1;
var myTween2:Tween = new Tween(enemy, "y", None.easeNone, enemy.y+1, enemy.y ,0.0001,true); }
if(player.y-40>enemy.y){
enemy.y+=1;
var myTween3:Tween = new Tween(enemy, "y", None.easeNone, enemy.y-1, enemy.y ,0.0001,true); }
if(player.x-40>enemy.x){
enemy.x+=1;
var myTween4:Tween = new Tween(enemy, "x", None.easeNone, enemy.x-1, enemy.x ,0.0001,true); }
if(enemy.x-20<player.x+40 && enemy.x+20>player.x-40 && enemy.y-20<player.y+40 && enemy.y+20>player.y-40 )
{
player.x=0;
player.y=0;
intNum-=1;
var msgbox:Sprite = new Sprite();
// drawing a white rectangle
msgbox.graphics.beginFill(0xFFFFFF); // white
msgbox.graphics.drawRect(0,0,300,20); // x, y, width, height
msgbox.graphics.endFill();
// drawing a black border
msgbox.graphics.lineStyle(2, 0x000000, 100); // line thickness, line color (black), line alpha or opacity
msgbox.graphics.drawRect(0,0,300,20); // x, y, width, height
var textfield:TextField = new TextField()
textfield.text = "Score: "+ intNum
addChild(msgbox)
addChild(textfield)
}
}
}
}