Мой мяч для понга имеет значения 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;
}