几个月前,当我在制作 2D 背景滚动游戏时,我需要制作一个背景循环,让游戏角色看起来像是在移动,所以我使用以下算法循环背景->
int w=backgroundImage.getWidth();
int h=backgroundImage.getHeight();
int desX,desY;
for(int x=0;x<w;x++)
{
for(int y=0;y<h;y++)
{
int px=backgroundImage.getRGB(x, y);
desX=x-2;
desY=y;
if(desX<0)
{
desX=w+desX-1;
}
backgroundImage.setRGB(desX, desY, px);
}
}
但是在应用这个算法循环整个背景之后,我发现整个游戏变慢了。
这个算法有什么好处还是有更好的算法来循环背景?
任何代码片段将不胜感激。
谢谢。