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