2013-12-22 59 views
0

我设置的物体的X和Y位置和下方的代码用于为什么这会被转换为int?

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

m_fAngleOfShot是浮子,setY()需要一个浮子,和getY()返回float。当这个精灵在窗口中被修改时,它或者向上移动(delta Y变成-1),left(delta X变成-1),左上对角(都是-1)或者根本不移动。看来,这里返回的值正在被舍入,我不明白为什么。帮帮我!

+1

'setX()'的参数类型是什么?我认为在你发布的代码片段中,不可能告诉问题是什么。 –

+0

setX的参数是一个浮点数。 – VJC1288

回答

1

cos()sin()范围在-11之间。

所以,我相信你知道,setX()setY()只能向上或向下移动1个像素。

他们还采用弧度的参数-PIPI

您的m_ fAngleOfShot是以度数还是弧度变量?

+0

谢谢!有点困了! –

+0

只是一个很好的小精灵。 – 2013-12-22 02:12:30

+0

啊是的!当然,他们只能向上或向下移动一个像素,这是有道理的。当我将cos()或sin()函数乘以10时,它可以工作(尽管快得多)。那么在“速度”小于或等于1的情况下它就不起作用了?我的编码效率非常低吗? – VJC1288

相关问题