旋转像素 - 完美碰撞检测

时间:2011-12-10 14:18:44

标签: java android collision-detection

所以我正在开发一款Android游戏,屏幕上有两张图片。我目前的像素完美碰撞检测工作得很好。我的问题是当我旋转其中一个图像并检查像素是否发生碰撞时。像素仍然以图像加载的原始方式定向,因此它不像它那样完美......我可以获得数组或二维数组中的所有像素。但我目前只是通过getPixel(x, y)类中的Bitmap方法访问它们。

有没有人知道基于任意度数旋转数组中值的算法?或者解决这个问题的其他任何方式?

2 个答案:

答案 0 :(得分:1)

你看过AffineTransform吗?

这是我过去用来旋转精灵和图像的东西。

答案 1 :(得分:1)

我使用此代码旋转并从图像中获取像素值:

Image rotatedImage = new BufferedImage(imageToRotate.getHeight(null), imageToRotate.getWidth(null), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) rotatedImage.getGraphics();
// Set rotation here
g2d.rotate(Math.toRadians(90.0));
g2d.drawImage(imageToRotate, 0, -rotatedImage.getWidth(null), null);
g2d.dispose();
int pixelColor = ((BufferedImage)rotatedImage).getRGB(x, y);