どうやらこれは人気のあるトピックです。私は初心者なので、私の問題はおそらくかなり些細なことです。これは Pong のような非常にシンプルなゲームです。このコードを使用してゲームを描画しています:
@Override
public void paint(float deltaTime) {
Graphics g = game.getGraphics();
// draw the game elements
if (state == GameState.Running){
g.drawImage(Assets.back, 0, 0);
//g.drawRect(0, 0, g.getWidth(), g.getHeight(), Color.BLACK);
g.saveCanvas();
g.drawTransRect(0, 0, scene.getLine(), g.getHeight());
g.drawImage(Assets.fore, 0, 0);
//g.drawRect(0, 0, g.getWidth(), g.getHeight(), Color.WHITE);
g.restoreCanvas();
for (Pieces p : pieces){
if (p.getType() == true)
g.drawImage(Assets.pos, p.getX(), p.getY());
if (p.getType() == false){
g.drawImage(Assets.neg, p.getX(), p.getY());
}
}
}
コードをそのまま実行すると、フレームレートは約 15FPS に見えますか? ただし、drawImage (背景と前景の bmp をアセットとして) の代わりに drawRect (上でコメントアウト) を使用します。私の FPS は少なくとも 60 です。これは、bmp と Rect の表示に関連する CPU パワーがはるかに大きいことを意味すると想定しています。画像を使用して適切なフレームレートを維持するにはどうすればよいですか?
ありがとう。
編集:
それが役立つ場合、私の drawImage メソッドは次のようになります。
public void drawImage(Image Image, int x, int y) {
canvas.drawBitmap(((AndroidImage)Image).bitmap, x, y, null);
}