我正在制作一个向导游戏,我从精灵表中加载精灵。我使用像素数组来显示精灵。
这是我的 sprite.java https://github.com/thefooting/Java-2d_game/blob/master/Sprite.java
这是我的game.java https://github.com/thefooting/Java-2d_game/blob/master/Game.java
如何让我的精灵旋转?
我正在制作一个向导游戏,我从精灵表中加载精灵。我使用像素数组来显示精灵。
这是我的 sprite.java https://github.com/thefooting/Java-2d_game/blob/master/Sprite.java
这是我的game.java https://github.com/thefooting/Java-2d_game/blob/master/Game.java
如何让我的精灵旋转?
不要使用像素阵列来渲染你的游戏。这不值得。没有性能提升。您使用所有 cpu 功率来渲染图像,更不用说手动更改像素数据是 cpu 密集型的。使用带有兼容图像的简单绘图调用可以为您的 gpu 提供一些负载,并让您更好地控制单个 sprite 以及其他。
相信我,像素渲染更好/更快是一个神话。:)
AffineTransform reset = new AffineTransform();
reset.rotate(0,0,0);
Graphics2D g2 = (Graphics)g;
g2.rotate(angle, x, y);
//draw image here
g2.setTransform(reset);
Graphics2D 还可以使用基本的 Graphics 类完成您所做的所有其他事情