我想通过从纹理中切割透明区域来创建多边形。 我写了一个程序来检测2个对象之间的碰撞。 但碰撞在碰撞之前被检测到。 这是它的外观:http://imgur.com/a/dFmXI如何在纹理上创建多边形libGDX
这是代码:https://hastebin.com/bebusadiku.java 我以为切纹理和创建基于板缺质感多边形,然后使用部门间方法检测到冲突,但我不知道如何指定多边形的顶点。
我试图按照这一点,但没有解释如何检测顶点: https://gamedev.stackexchange.com/questions/114228/how-to-detect-collision-only-in-non-transparent-texture
感谢您的帮助
我认为要做到这一点,但我想创建一个通用类,它在构造函数中剪切图像,所以我需要一个算法或一个用于物理身体编辑器的脚本。但脚本的问题是当我在Android上移植我的游戏时,它不起作用。我有一个想法是逐像素地裁剪图像,但是我的实现可能效率很低并且滞后于我的游戏。但我不知道Texture类是否具有识别像素颜色并允许在像素上操作的方法。如果它有效,我可以尝试在纹理上找到极端点并根据这些点创建一个多边形。 –
是的,为纹理创建一个像素图。沿边缘做一些Bressingham视线技术来找到你的顶点。然后从它创建一个delaunai三角形,最终只有凹多边形。 – Madmenyo
对不起,我的英语,但是什么意思Bressingham线和delaunai?顺便说一句,有没有任何算法可以帮助我或我必须实现从零的一切? –