我正在设置对象的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
接受参数。
您的m_ fAngleOfShot
是度数还是弧度变量?