2012-06-22 45 views
0

我正在用Java制作游戏。我做了一个从外太空看到的行星,我想让它看起来像行星慢慢旋转。但我不知道如何旋转图像。我需要一个简单的命令,将我的图像围绕自己的中心旋转1度。任何帮助?简单图像旋转


这就是我想做的事: Image

+0

*“简单的图像旋转”*通过'简单'DYM勺喂给你的答案? [你有什么尝试?](http://www.whathaveyoutried.com/) –

+1

什么是你的前端? HTML/HTML5 /安卓/ 2dgraphics? – Kshitij

+0

使用'AffineTransform'(假设Java 2D)。这是[animated rotation]的示例(http://stackoverflow.com/a/11117371/418556)。它使用形状和区域,但原理是一样的。 –

回答

0

你所描述不旋转的图像,但改变的图像来表示图像中的物体的3D旋转。

理想情况下,您不会将此图片用作图片,而是将其作为具有不同相机角度的3D对象。然后,您只需旋转相机周围的相机并将结果图像显示给用户。

但是,如果您将其作为图像进行设置,那么您需要创建一个不同的图像来表示您的星球的各种旋转状态,并且有一个单独的线程将按顺序将下一个图像替换为显示的图像,重复间隔。在网上搜索“java图像动画” - 有很多关于如何做到这一点的教程。

如果要旋转二维空间中的图像,你可以使用这样的事情:

Image image = ... 
Graphics2D g2d = ...; // 
g2d.translate(170, 0); // If needed 
g2d.rotate(1); // Rotate the image by 1 radian 
//or g2d.rotate(180.0/3.14); to rotate by 1 degree 
g2d.drawImage(image, 0, 0, 200, 200, observer); 
+0

我想你误解了我。对不起,不够清楚。这就是我想要做的:http://imageshack.us/photo/my-images/266/examplea.png/ –

+0

你的星球是一个与背景星场分开的图像吗?如果不是,那么你仍然必须按照我在第二部分描述的内容去做。如果您的星域是独立的,那么您可以使用java-2d轻松地旋转图像。 –

+0

这是一个单独的图像。请看看java 2d –