shipRotation2
♥0 |
Line 108 |
Modified 2015-10-21 08:37:53 |
MIT License
archived:2017-03-20 08:35:44
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/YaQW
*/
// forked from jmhawk904's forked from: startProject
// forked from PXshadow's startProject
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 player2:MovieClip = new MovieClip();
var playerSize:Number = 20;
var upPressed:Boolean = false;
var downPressed:Boolean = false;
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var keyPressed:String = "";
var playerX:Number = 0;
var playerY:Number = 0;
var rad:Number = 0;
var devText:TextField = new TextField();
var player2rotation:Number = 0;
var radius:Number = 0;
var angle:Number = 0;
var i:Number = 0;
//create player
player.graphics.lineStyle(0x000000);
player.graphics.beginFill(0xFFFFFF);
player.graphics.drawRect(-50,-50,100,100);
player.graphics.endFill();
player2.graphics.lineStyle(0x000000);
player2.graphics.beginFill(0xFFFFFF);
player2.graphics.drawRect(-25,-25,50,50);
player2.graphics.endFill();
//creat tiles
//add to stage
addChild(player);
addChild(devText);
addChild(player2);
player.x = stage.stageWidth/2;
player.y = stage.stageWidth/2;
//update
addEventListener(Event.ENTER_FRAME, function(_:Event):void {
stage.addEventListener(KeyboardEvent.KEY_DOWN, function(event:KeyboardEvent):void {
devText.text = String(event.keyCode);
if (event.keyCode == 87) {
//up
upPressed = true;
keyPressed = "up";
}
if (event.keyCode == 83) {
//down
downPressed = true;
keyPressed = "down";
}
if (event.keyCode == 65) {
//left
leftPressed = true;
}
if (event.keyCode == 68) {
//right
rightPressed = true;
}
});
stage.addEventListener(KeyboardEvent.KEY_UP, function(event:KeyboardEvent):void {
if (event.keyCode == 87) {
//up
upPressed = false;
}
if (event.keyCode == 83) {
//down
downPressed = false;
}
if (event.keyCode == 65) {
//left
leftPressed = false;
}
if (event.keyCode == 68) {
//right
rightPressed = false;
}
});
//update
if(upPressed == true){
player.y += -3;
playerY += -3;
}
if(downPressed == true){
player.y += 3;
playerY += -3;
}
if(leftPressed == true){
player.x += -3;
playerX += -3;
}
if(rightPressed == true){
player.x += 3;
playerX += 3;
}
player2rotation = 2;
player2.rotation += player2rotation;
player.rotation = Math.atan2(player.y - stage.mouseY , player.x - stage.mouseX) * 180/Math.PI ;
player2.rotation += 0.05;
radius = Math.sqrt(Math.pow(player.x - player2.x,2) + Math.pow(player.y -player2.y,2));
angle = Math.atan2(player.y-player2.y, player.x-player2.x) * 180 / Math.PI + player2rotation;
rad = angle * (Math.PI/180);
devText.text = "a" + String(Math.round(angle)) + "r" + String(Math.round(radius));
if(i > 60){
player.x = player2.x + radius * Math.cos(rad) ;
player.y = player2.y + radius * Math.sin(rad);
//player.x = player2.x + radius * Math.cos(player2.rotation * Math.PI/180) ;
//player.y = player2.y + radius * Math.sin(player2.rotation * Math.PI/180);
if(i > 90){
i = 0;
}
}
i += 1;
player2.startDrag(true);
});
}
}
}