碰撞检测和浮动计算

时间:2015-11-04 23:30:56

标签: java android converter collision-detection pong

我的乒乓球的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 for paddle的代码看起来像这样(并正确绘制和更新位置):

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;
    }

1 个答案:

答案 0 :(得分:0)

我的Android Studio调试器出错了,没关系。