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

标签 javascript canvas pong

我用 JS 编写了一个简单的乒乓球游戏,但我无法强制球在接触 Racket 时改变方向。下面我插入了实际的beatControl 函数。

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

最佳答案

这是我在制作的 JS pong 游戏中使用的碰撞示例。首先,它检查 Racket 是否向右或向左足够远,如果是,则检查 Racket 是否也在正确的 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;
    }

关于javascript - 在我的 JS Pong 游戏中无法击球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793384/

相关文章:

javascript - canvas.toDataURL ("image/png") - 它是如何工作的以及如何优化它

c# - 无法在 XNA 中隐式转换类型

javascript - 如何像加载网页一样发推特

javascript - 使用backbone.js提交表单后,在不同 View 中显示警报窗口

javascript - 表单正在清除空白输入上一组数据

php - Symfony2 和提交机智 JavaScript : How to get html content

javascript - 为什么在这行代码中乘以0.002 : new Date(). getTime() * 0.002;

canvas - ios11 webview html canvas 内容被页面滚动清除

javascript - jQuery 碰撞插件 |如何实际检查是否发生碰撞

Java pong 游戏 Graphics 或 geom 2D