我的 Android 游戏需要像素完美的碰撞检测。我编写了一些代码来检测与“正常”位图(未旋转)的碰撞;工作正常。但是,我不明白旋转位图。不幸的是,Java 没有旋转矩形的类,所以我自己实现了一个。它保存四个角相对于屏幕的位置,并描述其位图的确切位置/图层;称为“项目表面”。我解决检测的计划是:
- 检测不同 itemSurfaces 的交集
- 计算重叠面积
- 相对于其上级 itemSurface/bitmap 设置这些区域
- 将每个单个像素与另一个位图的相应像素进行比较
嗯,第一个和第二个都有问题。有人有想法或有一些代码吗?也许 Java/Android 库中已经有代码,但我只是没有找到它。