我正在开发一个简单的游戏,我需要检测对象之间的碰撞,我已经知道如何检测2个精灵之间的碰撞,但现在我需要检测精灵之间的碰撞和使用{{1技术。假设我有一个像这样定义的精灵:
ShapeRenderer
和这样的一行:
Texture texture = new Texture(myPath);
TextureRegion textureRegion = new TextureRegion(texture, w, h);
有没有办法检测这两个对象何时发生碰撞?
答案 0 :(得分:2)
在不知道你是如何检测精灵碰撞的情况下,我建议使用几种不同的选项。
如果您正在使用box2d进行当前的碰撞检测,并且没有很多线要使用shapeRenderer渲染,您可以考虑创建一个体/夹具来表示线,使其成为传感器和像对待其他机构一样使用联系人监听器。
或许更简单的方法可能是使用libgdx的Intersector类并在那里寻找可能对您有帮助的方法。例如,
public static boolean intersectLinePolygon(Vector2 p1,Vector2 p2,Polygon polygon)
可能适合你,其中p1是你的(x1,y1),p2是你的(x2,y2)和多边形映射到你的textureRegion。