繁体   English   中英

如何在纹理libGDX上创建多边形

[英]How to create a polygon on a texture libGDX

我想通过从纹理中剪切透明区域来创建多边形。 我写了一个程序来检测2个对象之间的碰撞。 但是在碰撞之前检测到碰撞。 这就是它的外观: http//imgur.com/a/dFmXI

这是代码: https//hastebin.com/bebusadiku.java我想切割纹理并根据切割纹理创建多边形,然后使用Intersector方法检测碰撞,但我不知道如何指定顶点多边形

我试图遵循这个但是没有解释如何检测顶点: https//gamedev.stackexchange.com/questions/114228/how-to-detect-collision-only-in-non-transparent-texture

感谢帮助

我使用这个多边形形状编辑器来创建更复杂的形状来检查碰撞。 我相信Box2D它可以在“盒子”之外工作,但Box2D占用了大量空间,如果你不使用实际物理,这是不必要的。 但是,此工具生成JSON格式的多边形坐标,并且将其反序列化为Polygon对象并与Intersector实现进行冲突并不困难。 所以在步骤中你:

  • 使用形状编辑器工具为图像创建形状。
  • 使用该工具将其导出到JSON。
  • 将该数据反序列化为LibGDX Polygon
  • 移动,缩放并将其正确附加到图像,使其同步。
  • 首先检查基本矩形与矩形的碰撞。
  • 如果存在基本碰撞,请使用Intersector进行更详细的碰撞检测。

该工具导出大量冗余数据,如果您熟悉它导出的格式,您可以除去多边形/顶点数据之外的所有数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM