碰撞检测和浮动计算

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 调试器出现错误,没关系。