Я устанавливаю X и Y положение объекта и код ниже используется
setX(getX()+(cos(m_fAngleOfShot)));
setY(getY()+(sin(m_fAngleOfShot)));
m_fAngleOfShot
это поплавок, setY()
плавает, и getY()
возвращает поплавок. Когда этот спрайт изменяется в окне, он либо перемещается вверх (дельта Y становится -1), влево (дельта X становится -1), диагональ вверху слева (оба равны -1) или не перемещается вообще. Кажется, что возвращаемые значения округляются в меньшую сторону, и я не могу понять, почему. Помогите!
cos()
а также sin()
диапазон между -1
а также 1
,
Итак, как я уверен, вы понимаете, setX()
а также setY()
может только двигаться вверх или вниз на 1 пиксель.
Они также принимают аргумент в радианах -PI
в PI
,
Ваш м_fAngleOfShot
переменная в градусах или радианах?
Других решений пока нет …