可能缺少一些基本的東西,但我在我的程序中有一個for循環,應該遍歷數組(lines[]
)並在屏幕上繪製它們使用LWJGL/Slick)。
而不是線條顯示在單獨的行(在(i*16 + 7, 5)
),他們都出現在(7, 5)
。用於循環的Java - (i * 16)對所有i值爲0
for(int i = 0; i < lines.length; i++) {
if(lines[i] != null) {
f.drawString((i * 16) + 7, 5, lines[i]);
}
}
被調用函數使用它之前,我已經看到了被改變的提示在循環定義最終變量,以避免值等問題的答案。所以,我已經改變了代碼:
for(int i = 0; i < lines.length; i++) {
if(lines[i] != null) {
final int i2 = i;
f.drawString((i2 * 16) + 7, 5, lines[i]);
}
}
但它不解決它(並沒有真正指望它,因爲我沒有得到停留在我的最後一個值和光滑不應該存儲我的價值,但試圖確保)。
拉帶的頭如下:
public void drawString(float x, float y, String whatchars)
(請記住)如果我== 0,我* 16 == 0太。 – sschrass
我認爲你可能會以錯誤的順序發表你的觀點。什麼樣的對象是'f'(修正錯誤的對象名稱) –
對於第一次迭代,是的,但是當我在下一次迭代中增加到1時,1 * 16似乎也被評估爲0。 – GinjaNinja32