Случайное направление без визуально вращающейся формы opengl-es android - PullRequest
0 голосов
/ 30 июля 2011

Я хочу иметь возможность назначать фигуре случайное направление движения с обычной скоростью.

Я пытался присвоить случайное число значениям x и y перевода, но это иногда приводило к тому, что фигура иногда перемещалась слишком быстро или просто исчезала с экрана.

Есть ли способ выбрать произвольное направление для перемещения фигуры, не поворачивая ее (по крайней мере, насколько позволяет пользователь)?

Также существует ли способ повторной генерации случайного числа, когда вызывается событие (например, нажатие кнопки), которое позволит изменить направление?

РЕДАКТИРОВАТЬ: Только что проверил. Использование функции поворота со случайным углом приведет к смещению квадрата в случайном направлении, но есть ли способ сделать это без изменения ориентации фигуры?

1 Ответ

0 голосов
/ 30 июля 2011

Хорошо, вы хотите, чтобы фигура двигалась в положительном или отрицательном направлении x, y или z?

Если вы хотите, чтобы это было случайно, используйте класс Random. Из этого вы можете использовать Random.nextInt (1), который будет 0 или 1, если результат равен 0, тогда установите значение равным -1.

+1 или -1 теперь используются для вашего направления.

Теперь вы знаете, в каком направлении движется объект, вы можете просто умножить это на скорость вашего объекта

Вот примерный код

Случайный ранд = новый Случайный (); int direction = rand.nextInt (1);

если (направление == 0) направление = -1;

Форма theShape.position.x + = направление * theShape.speed

Возможно, это не то, как настроен ваш интерфейс (например, Shape.position или Shape.speed), но идея та же

После прочтения этого снова, я думаю, что вы пытаетесь повернуть свою фигуру, lol, вращение не просто добавляет значения x и y. Используете ли вы матрицы в вашем приложении? Если нет, следует использовать trig, чтобы выяснить, какими будут значения x и y после поворота на x градусов

...