我不完全確定標題是否準確,因爲我不知道真正的問題。基本上,我正在嘗試在我的遊戲中渲染一個燃料元素,但我希望它適合98像素的容器。我已經做了如下:浮點到整數舍入太早(?)
float fuelDisplay = fuel/maxFuel;
float fuelDisplayFinal = fuelDisplay*98;
g.setColor(Color.YELLOW);
g.fillRect(15, 81, (int)fuelDisplayFinal, 38);
g.drawImage(Bank.bar, 0, 70, null);
當我開始比賽,這看起來不錯,但只要變量「燃料」的減小,酒吧完全消失(最有可能有其寬度設定到0)。
現在,我假設只要將其轉換爲整數,它就會簡化爲零,但我不確定如何解決此問題。我無法在任何地方找到解決方案,而且我發現的類似問題已通過完成我所做的工作而「解決」了。任何和所有的幫助表示讚賞。這可能只是我非常無知的一種情況,但我希望不會。感謝大家!
我的猜測是'fuel'和'maxFuel'都屬於'int'類型,這意味着除法是在整數運算中執行的。將其中的一個轉換爲「float」來強制執行浮點運算。 –
'fuel'和'maxFuel'的數據類型是什麼? – NINCOMPOOP