【问题标题】:Collision Detection and Float Calculation碰撞检测和浮动计算
【发布时间】:2016-02-05 16:04:52
【问题描述】:

我的乒乓球的 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: 这是我的碰撞检测器(从 cmets 移来):

if (ballY < paddleHeightTop  && ballX > paddleLeadingEdge && ballY > paddleHeightBottom ) { 
    soundPool.play(paddleSound, 1, 1, 0, 0, 1);
    ballSpeedX *= -1;
    }

【问题讨论】:

    标签: java android converter collision-detection pong


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多