我正在为游戏编写代码,并希望背景能够重复。
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 是背景反转
问题是,当我移动并且xOffset
从 0 变为WIDTH
0 时,似乎有一个“包裹”。
控制台正在输出xOffset
我知道这是因为我使用模数来获取xOffset
但我没有找到更好的方法......
提前致谢