我有一個粒子(我模擬粒子系統)的生命屬性,這是一個浮點值,因爲我也使用它的透明度(alpha是浮點數)。我讀過關於將float轉換爲double的問題,並意識到這是一個相當大的問題,所以我可能無法將float轉換爲double。問題是,我想嘗試從像生活變量計算粒子的路徑:「轉換」浮點數在C#中的倍數爲
particle.x += particle.xi;
particle.xi = Math.Sin(life);
注:生命值一開始1.0F,降低爲0(如果< 0.0F我重新初始化粒子和將生命設置爲1.0f)。
但罪惡想要雙倍的價值......我們回到了開始。 因此,一種解決方案可以改變生命財產的類型加倍,當我使用它的透明度,我只是這個雙轉換浮動這應該不是大問題(我猜)。
但我的問題是,如果有其他方式來做到這一點,造成雙重也花費更多的內存(我不知道在這種情況下更多的手段 - 我想更多的時間,可以說我會有500粒子和每個都有這個屬性)。 我只是需要以某種方式計算這個浮動屬性的罪的價值。
那麼有可能嗎?我對記憶的擔憂很重要嗎?
嗯,我認爲問題是我把浮點數Math.Sin,並忽略了particle.xi也是浮動的,我應該預料到兩個相同的問題,但在第一種情況下,這不是一個問題,因爲Sin接受浮動:)感謝您的解釋。它確實有幫助。哦,這個小笨蛋的錯誤... – user1097772