Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 充电计时器不工作';不太管用?_Actionscript 3_Timer - Fatal编程技术网

Actionscript 3 充电计时器不工作';不太管用?

Actionscript 3 充电计时器不工作';不太管用?,actionscript-3,timer,Actionscript 3,Timer,我正在写一个游戏,我想让角色在按住空格键向上一点充电后跳跃,然后充电将被添加到跳跃中 然而,我目前使用的代码只有大约50%的时间有效,如果玩家同时按下方向移动按钮,代码几乎无限期地不起作用 function greenTimerHandler(e:TimerEvent){ if(spacePressed&&downBumping){ charge += 3; if(charge >= 50){

我正在写一个游戏,我想让角色在按住空格键向上一点充电后跳跃,然后充电将被添加到跳跃中

然而,我目前使用的代码只有大约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请在您的问题中发布更新,而不是在评论中。