Movement + Rotation In Flash
July 29th, 2007
Have you seen these flash space games where you can move and rotate a spaceship. well here is how to do it.
1- Load up flash MX and set the document size to 550 by 400. to do this go to modify>document.
2- create a spaceship what ever you want it to be.
3- select it and press on F8 select movieclip and the press ok.
Press on the spaceship now and load up the actions panel by going to windows>actions. make sure it says Actions-Movie clip not Actions-frame.
add the following in the actions box:
Actionscript:
-
onClipEvent (load) {
-
thrust = 1; //sets speed
-
decay = 1;//sets strenght not needed at the moment
-
maxSpeed = 15;//maximum speed
-
}
-
onClipEvent (enterFrame) {
-
-
if (Key.isDown(Key.RIGHT)) { //if right button is down
-
_rotation += 10; //rotate 10 degreese clockwise
-
}
-
if (Key.isDown(Key.LEFT)) { //if left button is down
-
_rotation -= 10; //rotate 10 degreese anti-clockwise
-
}
-
if (Key.isDown(Key.UP)) {//if up button is down
-
xSpeed += thrust*Math.sin(_rotation*(Math.PI/180));
-
ySpeed += thrust*Math.cos(_rotation*(Math.PI/180));
-
-
} else {
-
xSpeed *= decay;
-
ySpeed *= decay; //slow down
-
-
}
-
speed = Math.sqrt((xSpeed*xSpeed)+(ySpeed*ySpeed));
-
if (speed>maxSpeed) {
-
xSpeed *= maxSpeed/speed;
-
ySpeed *= maxSpeed/speed;
-
}
-
_y -= ySpeed;
-
_x += xSpeed;
-
-
//make the ship come back on screen if it goes out of view
-
if (_y<0) {
-
_y = 400; // document height
-
}
-
if (_y>400) {
-
_y = 0;
-
}
-
if (_x<0) {
-
_x = 550; //document width
-
}
-
if (_x>550) {
-
_x = 0;
-
}
-
}
test the movie by clicking control+ enter
That should do the job neatly. If you have any problems or errors coming up please do not hesitate to contact me.
Have you seen these flash space games where you can move and rotate a spaceship. well here is how to do it.
1- Load up flash MX and set the document size to 550 by 400. to do this go to modify>document.
2- create a spaceship what ever you want it to be.
3- select it and press on F8 select movieclip and the press ok.
Press on the spaceship now and load up the actions panel by going to windows>actions. make sure it says Actions-Movie clip not Actions-frame.
add the following in the actions box:
-
onClipEvent (load) {
-
thrust = 1; //sets speed
-
decay = 1;//sets strenght not needed at the moment
-
maxSpeed = 15;//maximum speed
-
}
-
onClipEvent (enterFrame) {
-
-
if (Key.isDown(Key.RIGHT)) { //if right button is down
-
_rotation += 10; //rotate 10 degreese clockwise
-
}
-
if (Key.isDown(Key.LEFT)) { //if left button is down
-
_rotation -= 10; //rotate 10 degreese anti-clockwise
-
}
-
if (Key.isDown(Key.UP)) {//if up button is down
-
xSpeed += thrust*Math.sin(_rotation*(Math.PI/180));
-
ySpeed += thrust*Math.cos(_rotation*(Math.PI/180));
-
-
} else {
-
xSpeed *= decay;
-
ySpeed *= decay; //slow down
-
-
}
-
speed = Math.sqrt((xSpeed*xSpeed)+(ySpeed*ySpeed));
-
if (speed>maxSpeed) {
-
xSpeed *= maxSpeed/speed;
-
ySpeed *= maxSpeed/speed;
-
}
-
_y -= ySpeed;
-
_x += xSpeed;
-
-
//make the ship come back on screen if it goes out of view
-
if (_y<0) {
-
_y = 400; // document height
-
}
-
if (_y>400) {
-
_y = 0;
-
}
-
if (_x<0) {
-
_x = 550; //document width
-
}
-
if (_x>550) {
-
_x = 0;
-
}
-
}
test the movie by clicking control+ enter
That should do the job neatly. If you have any problems or errors coming up please do not hesitate to contact me.