2013-12-22 61 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

相關問題