碰撞检测和浮动计算
Collision Detection and Float Calculation
我的乒乓球的 x 和 y 值从 0.0 到 1.0,这是屏幕的边界。
它在屏幕上反弹得很好,但无法识别我的球拍。我的桨的值超出了可检测范围,我不知道如何让这些值介于 0.0 和 1.0 之间。
我需要让值介于 0.0 和 1.0 之间
float paddleHeightTop = (float)(rPaddle - (height/10));
float paddleHeightBottom = (float)(rPaddle + (height/10));
float paddleLeadingEdge = (float) (rPaddle/1000);
paddleLeadingEdge 的值为 897.0,需要为 0.897...拒绝转换,仍为 897。
我还没有算出 paddleHeightTop 或 Bottom 的数学运算,但它们的值也需要介于 0.0 和 1.0 之间...
paddleHeightTop 的值为 183.0。
paddleHeightBottom 的值为 1.8970001.
rPaddle 从 'onMotionEvent'.
开始更新它的值
我的桨的 onDraw 代码如下所示(并正确绘制和更新位置):
canvas.drawRect( 93 * (width / 100) , rPaddle - (height/10), 95 * (width / 100), rPaddle + (height/10), light);
我把它放在这里是因为我确信我遗漏了一些关系。
提前致谢。
PS:
这是我的碰撞检测器(从评论中移出):
if (ballY < paddleHeightTop && ballX > paddleLeadingEdge && ballY > paddleHeightBottom ) {
soundPool.play(paddleSound, 1, 1, 0, 0, 1);
ballSpeedX *= -1;
}
我的 Android Studio 调试器出现错误,没关系。
我的乒乓球的 x 和 y 值从 0.0 到 1.0,这是屏幕的边界。
它在屏幕上反弹得很好,但无法识别我的球拍。我的桨的值超出了可检测范围,我不知道如何让这些值介于 0.0 和 1.0 之间。
我需要让值介于 0.0 和 1.0 之间
float paddleHeightTop = (float)(rPaddle - (height/10));
float paddleHeightBottom = (float)(rPaddle + (height/10));
float paddleLeadingEdge = (float) (rPaddle/1000);
paddleLeadingEdge 的值为 897.0,需要为 0.897...拒绝转换,仍为 897。
我还没有算出 paddleHeightTop 或 Bottom 的数学运算,但它们的值也需要介于 0.0 和 1.0 之间... paddleHeightTop 的值为 183.0。 paddleHeightBottom 的值为 1.8970001.
rPaddle 从 'onMotionEvent'.
开始更新它的值我的桨的 onDraw 代码如下所示(并正确绘制和更新位置):
canvas.drawRect( 93 * (width / 100) , rPaddle - (height/10), 95 * (width / 100), rPaddle + (height/10), light);
我把它放在这里是因为我确信我遗漏了一些关系。 提前致谢。
PS: 这是我的碰撞检测器(从评论中移出):
if (ballY < paddleHeightTop && ballX > paddleLeadingEdge && ballY > paddleHeightBottom ) {
soundPool.play(paddleSound, 1, 1, 0, 0, 1);
ballSpeedX *= -1;
}
我的 Android Studio 调试器出现错误,没关系。