gpt4 book ai didi

java - 我应该使用 OpenGL 来制作带动画的国际象棋吗?

转载 作者:行者123 更新时间:2023-12-02 00:52:24 25 4
gpt4 key购买 nike

目前,我正在尝试使用 SurfaceView 来制作带有动画的国际象棋游戏。我在模拟器中仅获得大约 8 FPS。我画了一个棋盘和 32 个棋子并旋转所有东西(看看它有多平滑),我正在使用抗锯齿。在 Droid 上我得到了大约 20FPS,所以不是很流畅。是否可以在不使用 OpenGL 的情况下实现动画非常稀缺且简单的游戏?

这就是我每一帧所做的事情:

// scale and rotate
matrix.setScale(scale, scale);
rotation += 3;
matrix.postRotate(rotation, 152, 152);

canvas = surfaceHolder.lockCanvas();
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG));
canvas.setMatrix(matrix);

canvas.drawARGB(255, 255, 255, 255); // fill the canvas with white
for (int i = 0; i < sprites.size(); i++) {
sprites.get(i).draw(canvas); // draws chessboard and chess pieces
}

最佳答案

我决定在创建 SurfaceView 时预缩放所有位图。现在我根本不需要使用变换矩阵。我在模拟器上获得了超过 30 FPS 的速度,在实际设备 (Droid) 上则完全流畅。我还删除了 canvas.drawARGB(255, 255, 255, 255);,这将 FPS 提高了大约 5。

关于java - 我应该使用 OpenGL 来制作带动画的国际象棋吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com