playerAttack
♥0 |
Line 93 |
Modified 2015-09-24 02:25:59 |
MIT License
archived:2017-03-20 08:35:54
ActionScript3 source code
/**
* Copyright PXshadow ( http://wonderfl.net/user/PXshadow )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/2YsE
*/
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.text.TextFieldAutoSize;
import flash.text.TextField;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
//vars
var player:MovieClip = new MovieClip();
var playerSize:Number = 20;
var playerSpeed:Number = 5;
var upPressed:Boolean = false;
var downPressed:Boolean = false;
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var i:Number = 0;
//hitbox vars
var hbDist:Number = 120;
var hbWidth:Number = 20;
var hbHeight:Number = 50;
var hitBox:MovieClip = new MovieClip();
var spacePressed:Boolean = false;
var keyPressed:String = "";
var devText:TextField = new TextField();
//create player
player.graphics.lineStyle(0x000000);
player.graphics.beginFill(0xFFFFFF);
player.graphics.drawRect(-50,-50,100,100);
player.graphics.endFill();
//creat tiles
//add to stage
addChild(player);
addChild(devText);
addChild(hitBox);
//update
addEventListener(Event.ENTER_FRAME, function(_:Event):void {
stage.addEventListener(KeyboardEvent.KEY_DOWN, function(event:KeyboardEvent):void {
if(event.keyCode == 16){
spacePressed = true;
}
if (event.keyCode == 38) {
//up
upPressed = true;
}
if (event.keyCode == 40) {
//down
downPressed = true;
}
if (event.keyCode == 37) {
//left
leftPressed = true;
}
if (event.keyCode == 39) {
//right
rightPressed = true;
}
devText.text = String(event.keyCode);
});
stage.addEventListener(KeyboardEvent.KEY_UP, function(event:KeyboardEvent):void {
if(event.keyCode == 16){
spacePressed = false;
}
if (event.keyCode == 38) {
//up
upPressed = false;
}
if (event.keyCode == 40) {
//down
downPressed = false;
}
if (event.keyCode == 37) {
//left
leftPressed = false;
}
if (event.keyCode == 39) {
//right
rightPressed = false;
}
});
//update
player.rotation = Math.atan2(stage.mouseY - player.y, stage.mouseX - player.x) * 180/Math.PI;
if(player.hitTestPoint(stage.mouseX, stage.mouseY,true)){
}else{
if(upPressed == true){
player.x += Math.round(Math.cos(player.rotation * Math.PI/180) * playerSpeed);
player.y += Math.round(Math.sin(player.rotation * Math.PI/180) * playerSpeed);
}
if(spacePressed == true){
hitBox.graphics.clear();
hitBox.graphics.lineStyle(0x000000);
hitBox.graphics.beginFill(0xFFFFFF);
hitBox.graphics.drawEllipse(-hbWidth/2,-hbHeight/2,hbWidth,hbHeight);
hitBox.x = player.x + Math.cos(player.rotation * Math.PI/180) * hbDist;
hitBox.y = player.y + Math.sin(player.rotation * Math.PI/180) * hbDist;
hitBox.rotation = player.rotation;
}
}
//hitcollison for hitbox to player
if(hitBox.hitTestPoint(player.x + 50,player.y,true)){
player.x += 5;
player.y += 5;
}
});
}
}
}