在我的JS Pong游戏中无法击败球

时间:2017-10-17 15:05:37

标签: javascript canvas pong

我已经用JS编写了一个简单的乒乓球比赛,但是当我接触球拍时,我不能强迫球改变方向。我已经插入了我的实际beatControl funtcion。

function beatControl() {

if (ballX + ballSize >= xAiPosition) {
    ballSpeedX = -ballSpeedX;
    //console.log(ballX);
} else if (ballX == xPosition + paddleWidth) {
    ballSpeedX = -ballSpeedX;
    // console.log(ballX);
}

}

Here's the link to my game

2 个答案:

答案 0 :(得分:0)

球从球拍的错误一端反弹。

问题在于这一行

else if (ballX == xPosition + paddleWidth)

应该是

else if (ballX <= xPosition + paddleWidth)

答案 1 :(得分:0)

这是我在JS pong游戏中使用的一个示例碰撞。首先它检查它是否足够向右或向左,如果这是真的,那么它检查桨是否也在正确的Y值内以击中球。您可以在此处查看我的源代码 - http://pongio.bitballoon.com/

    //Ball hits left paddle
    if (ball.x<=paddleLeft.width+ball.r && ball.y>=paddleLeft.y && ball.y<=paddleLeft.y+paddleLeft.height) {
        ball.velX = -ball.velX;
    }
    //Ball hits right paddle
    else if (ball.x>=canvas.width-(paddleLeft.width+ball.r) && ball.y>=paddleRight.y && ball.y<=paddleRight.y+paddleRight.height) {
        ball.velX = -ball.velX;
    }