PDA

View Full Version : [AS3] how do i make a character jump ?


mystikyl
04-28-2009, 04:55 AM
hey yeah i know this topic has been on here lots but my coding is a bit different so i just need a hand

so far it walks left right and shoots

so can someone help me make it jump

this is what i have so far


stop();

var bulletSpeed:int = 15;// speed of bullet
var heroSpeed:Number = 7;//speed of ship
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);



//handles key downs

function keyDownHandler(evt:KeyboardEvent):void {
if (evt.keyCode == 37) {//left
mc_hero.addEventListener(Event.ENTER_FRAME, moveLeft);
} else if (evt.keyCode == 39) {//right
mc_hero.addEventListener(Event.ENTER_FRAME, moveRight);
}

if (evt.keyCode == 32) {//spacebar
var mc_bullet:bullet = new bullet();
addChild( mc_bullet);
mc_bullet.x = mc_hero.x;
mc_bullet.y = mc_hero.y;
mc_bullet.addEventListener(Event.ENTER_FRAME, shoot);
}
function shoot(evt:Event):void {
//remove bullet if over stage
if (mc_bullet.x >= 0) {
mc_bullet.x += bulletSpeed;
} else {
mc_bullet.removeEventListener(Event.ENTER_FRAME, shoot);
removeChild(mc_bullet);
}

}

}

function keyUpHandler(evt:KeyboardEvent):void {
if (evt.keyCode == 37) {//left
mc_hero.removeEventListener(Event.ENTER_FRAME, moveLeft);
} else if (evt.keyCode == 39) {//right
mc_hero.removeEventListener(Event.ENTER_FRAME, moveRight);
}
}

//move hero left
function moveLeft(evt:Event):void {
if (mc_hero.x <= 20) {
//trace("limit left");
} else {
mc_hero.x -= heroSpeed;
}
}

//move hero right
function moveRight(evt:Event):void {
if (mc_hero.x >= stage.stageWidth -20 ) {
//trace("limit right");
} else {
mc_hero.x += heroSpeed;
}
}