PDA

View Full Version : Game Character Jump


sleepydad
11-24-2007, 07:17 PM
I'm using the following to make a game character move about the stage:

var dude:Object = new Object();
dude.onKeyDown = function() {
switch (Key.getCode()) {
case Key.UP :
checkY();
checkDudeScaleSm();
_root.dude_mc._y -= 5;
_root.dude_mc._yscale -= 2;
_root.dude_mc._xscale -= 2;
_global.currentXScale = _root.dude_mc._xscale;
_global.currentYScale = _root.dude_mc._yscale;
break;
case Key.DOWN :
checkY();
checkDudeScaleLg();
_root.dude_mc._y += 5;
_root.dude_mc._yscale += 2;
_root.dude_mc._xscale += 2;
_global.currentXScale = _root.dude_mc._xscale;
_global.currentYScale = _root.dude_mc._yscale;
break;
case Key.RIGHT :
checkX();
_root.dude_mc._x += 5;
break;
case Key.LEFT :
checkX();
_root.dude_mc._x -= 5;
break;
case Key.SPACE :
/*
HELLPPP!!!
*/
break;
}
};
Key.addListener(dude);

In the case Key.SPACE, I'd like to use the spacebar to make the character 'jump' over obstacles. How would I do that?

Thanks in advance.
sleepydad

alejandroquarto
11-24-2007, 09:10 PM
The new code:

var dude:Object = new Object();
dude.onKeyDown = function() {
switch (Key.getCode()) {
case Key.UP :
checkY();
checkDudeScaleSm();
_root.dude_mc._y -= 5;
_root.dude_mc._yscale -= 2;
_root.dude_mc._xscale -= 2;
_global.currentXScale = _root.dude_mc._xscale;
_global.currentYScale = _root.dude_mc._yscale;
break;
case Key.DOWN :
checkY();
checkDudeScaleLg();
_root.dude_mc._y += 5;
_root.dude_mc._yscale += 2;
_root.dude_mc._xscale += 2;
_global.currentXScale = _root.dude_mc._xscale;
_global.currentYScale = _root.dude_mc._yscale;
break;
case Key.RIGHT :
checkX();
_root.dude_mc._x += 5;
break;
case Key.LEFT :
checkX();
_root.dude_mc._x -= 5;
break;
case Key.SPACE :
/*
HELLPPP!!!
*/
if (_root.dude_mc.jumping<>true) {
_root.dude_mc.jumping = true;
_root.dude_mc.auxY = -10;
}
break;
}
};
Key.addListener(dude);
_root.dude_mc.onEnterFrame = function() {
if (_root.dude_mc.auxY<10) {
_root.dude_mc._y += _root.dude_mc.auxY;
_root.dude_mc.auxY++;
} else {
_root.dude_mc.jumping = false;
}
};