0
我正在編寫遊戲,並且希望我的背景到重複自己一遍又一遍。水平平鋪背景
這是我使用
xOffset = (int) (camera.getX() % WIDTH);
g.drawImage(bgInv, xOffset - WIDTH, 0, WIDTH, HEIGHT, null);
g.translate(xOffset, 0);
g.drawImage(bg, 0, 0, WIDTH, HEIGHT, null);
g.translate(-xOffset, 0);
g.drawImage(bgInv, xOffset + WIDTH, 0, WIDTH, HEIGHT, null);
第一個drawImage方法繪製圖像時相機X爲負 第三,當相機的X爲正的代碼。
- BG是正常的背景
- bgInv是倒
問題的背景是,當我移動和X偏移從寬度變爲0,它給出的效果「傳送」。
的控制檯輸出X偏移
我知道那是因爲我使用模獲得X偏移,但我沒有想出一個更好的辦法...
在此先感謝
負數的模給出負數。嘗試'if(xOffset <0)xOffset + = WIDTH;'作爲第二行。 – Marco13
@ Marco13 xOffsets永遠不會消極,但也試圖使用你的聲明,也改變它雖然,但不工作仍然 – L3n
也許這篇文章將有助於:http://stackoverflow.com/questions/16138363/infinite-background遊戲/ 16138735#16138735 – camickr