私は Android と Java の初心者で、初めてのゲームに取り組んでいます。
ゲームは約 0.5 秒間、6 ~ 8 秒ごとに一時的に停止するようです。私はタイミングがすべてであるプラットフォーム ゲームに取り組んでいるので、グリッチはゲームをプレイできなくします :(
これはガベージ コレクションまたはバックグラウンド タスクの既知の問題ですか? セーフモードで起動して別の電話を使用しようとしましたが、同じことをします。
スプライトのロード:
public void load() {
mysprite = new Sprite(this);
mysprite_image = new Texture(this);
if (!mysprite_image.loadFromAsset("mysprite_sprite_sheet.png")) {
fatalError("Error loading sprite_sheet");
}
mysprite.setTexture(mysprite_image);
}
テスト プログラムのメイン ループは次のようにします。
public void draw() {
canvas = getCanvas();
canvas.drawColor(Color.BLACK);
for (int i=0; i<20; i++) {
if (x[i] + vx[i] <= 0 || x[i] + vx[i] + 60 >= screenWidth) vx[i] *= -1;
if (y[i] + vy[i] <= 0 || y[i] + vy[i] + 60 >= screenHeight) vy[i] *= -1;
x[i] += vx[i];
y[i] += vy[i];
mysprite.position = new Point(x[i], y[i]);
drawSheetFrame(mysprite, 20, 29, 1, myspriteFrame, 4);
}
}
draw() は、キャンバスのロックとロック解除の間に呼び出されます。