突破性游戏JavaScript-有时球直冲而不是碰撞

问题描述 投票:0回答:1

我是JavaScript的新手,我正在尝试编写突破性游戏的简化版本。它尚未完成,并且在编码方面非常混乱,但是几乎可以正常工作。我的碰撞检测器在检测球时遇到了一些麻烦。它在大多数情况下都能实现预期的功能,但有时球会一直穿过,而我无法弄清楚如何重新制作该部分。代码看起来像这样

    function collisionDetection(){
  for(var c=0; c<brickColumnCount; c++){
    for(var r=0; r<brickRowCount; r++){
        var b=bricks[c][r];
        //collisionDetection
        if(b.status == 1){
        if(x+15 > b.x && x+15 < b.x+brickWidth && y-10 > b.y && y-10 < b.y+brickHight){
        dy = -dy;
        b.status = 0;
        score++;
        color = getRandomColor();
        } 
      }
    }
  }
}

我只要进行测试就可以制作桨板-我还没有做出任何让球改变角度的东西,只是速度。而且我还没有定义maxSpeed,我稍后会做,但是首先我希望我的碰撞能够正常工作。

您知道为什么这不起作用吗?我注意到,在200点处,碰撞根本无法进行。可能是速度(哪一个是很高的速度?)

可以找到完整的代码here

谢谢

我是JavaScript的新手,我正在尝试编写突破性游戏的简化版本。它尚未完成,并且在编码方面非常混乱,但是几乎可以正常工作。我的碰撞检测器...

javascript collision-detection breakout
1个回答
0
投票

如果x和y值是球形和砖形元素的左上角,则if语句应该是:

© www.soinside.com 2019 - 2024. All rights reserved.