数ヶ月前、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);
}
}
しかし、このアルゴリズムを適用してバックグラウンド全体をループさせた後、ゲーム全体が遅くなっていることがわかりました。
このアルゴリズムは良いですか、それともバックグラウンドをループするためのより良いアルゴリズムがありますか?
コードスニペットをいただければ幸いです。
ありがとう。