Почему это должно быть преобразовано в Int?

Я устанавливаю X и Y положение объекта и код ниже используется

setX(getX()+(cos(m_fAngleOfShot)));
setY(getY()+(sin(m_fAngleOfShot)));

m_fAngleOfShot это поплавок, setY() плавает, и getY() возвращает поплавок. Когда этот спрайт изменяется в окне, он либо перемещается вверх (дельта Y становится -1), влево (дельта X становится -1), диагональ вверху слева (оба равны -1) или не перемещается вообще. Кажется, что возвращаемые значения округляются в меньшую сторону, и я не могу понять, почему. Помогите!

0

Решение

cos() а также sin() диапазон между -1 а также 1,

Итак, как я уверен, вы понимаете, setX() а также setY() может только двигаться вверх или вниз на 1 пиксель.

Они также принимают аргумент в радианах -PI в PI,

Ваш м_fAngleOfShot переменная в градусах или радианах?

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector