我正在设置对象的X和Y位置,并使用下面的代码
setX(getX()+(cos(m_fAngleOfShot)));
setY(getY()+(sin(m_fAngleOfShot)));
m_fAngleOfShot
是一个浮点数,setY()
取浮点数,getY()
返回一个浮点数。当这个精灵在窗口中被修改时,它向上移动(delta Y变为-1),向左移动(delta X变为-1),左上角(两者都是-1)或根本不移动。似乎这里返回的值正在向下舍入,我无法弄清楚原因。救命啊!
答案 0 :(得分:1)
cos()
和sin()
介于-1
和1
之间。
所以,我确信您已经意识到,setX()
和setY()
只能向上或向下移动1个像素。
他们还以弧度-PI
到PI
进行争论。
你的m _ fAngleOfShot
变量是度数还是弧度?