Actionscript 3 充电计时器不工作';不太管用?
我正在写一个游戏,我想让角色在按住空格键向上一点充电后跳跃,然后充电将被添加到跳跃中 然而,我目前使用的代码只有大约50%的时间有效,如果玩家同时按下方向移动按钮,代码几乎无限期地不起作用Actionscript 3 充电计时器不工作';不太管用?,actionscript-3,timer,Actionscript 3,Timer,我正在写一个游戏,我想让角色在按住空格键向上一点充电后跳跃,然后充电将被添加到跳跃中 然而,我目前使用的代码只有大约50%的时间有效,如果玩家同时按下方向移动按钮,代码几乎无限期地不起作用 function greenTimerHandler(e:TimerEvent){ if(spacePressed&&downBumping){ charge += 3; if(charge >= 50){
function greenTimerHandler(e:TimerEvent){
if(spacePressed&&downBumping){
charge += 3;
if(charge >= 50){
charge = 50;
}
} else if(!spacePressed&& downBumping) {
greenSlimeJump(charge);
greenSlimeTimer.stop();
}
}
//And the jump function
function greenSlimeJump(greenCharge){
ySpeed = greenCharge * -1.5
slimeAmt -= Math.floor(greenCharge * 0.25);
charge = 0;
}
下颠簸只是一个布尔碰撞值,基于玩家底部的hitTestPoint
有没有什么方法可以让它比当前运行的跳转函数更多?它甚至会在下次尝试跳转时保留电荷值,而slimeAmt值永远不会被减去,因为代码似乎完全跳过了绿色跳转函数
下面是下颠簸代码:
if(back.collisions.hitTestPoint(player.x + downBumpPoint.x, player.y +
downBumpPoint.y, true)){
downBumping = true;
} else {
downBumping = false;
}
这是按下的计时器/空间:
if(e.keyCode == 32 && slimeAction){
spacePressed = true;
if(slimeType == 1 && downBumping){
greenSlimeTimer.start();
}
}
什么时候启动Greenlimejump?如何设置spacePressed?它有向上键和向下键处理程序,可以使用if-else语句(标准内容)切换布尔值。我所有的其他东西都能用,只是这一个给我带来了麻烦。绿色黏液跳跃仅在计时器记录不再按下空间时开始。我想我试着在一个计时器完整的函数中实现了这一切,但没有完全实现……我想看看启动计时器并设置空格按下和下跳变量的代码会很有用。好的,没问题!下面是下载代码:if(back.collisions.hitTestPoint(player.x+downBumpPoint.x,player.y+downBumpPoint.y,true)){//trace(“downBumping”);downBumping=true;}否则{downBumping=false;}@JamesAllen请在您的问题中发布更新,而不是在评论中。