通过它的Libgdx精灵环对象

时间:2015-12-17 21:41:23

标签: object graphics libgdx sprite

如下图所示,对象如何通过环状空间?

Object through ring sprite

请你帮帮我,我不知道怎么办。

2 个答案:

答案 0 :(得分:0)

我认为您发布的图片不正确。要获得您发布的图像,您只需在黑色圆环顶部绘制红色条。

我猜你想让左侧的戒指在顶部,而右侧则在顶部,以便在视觉上通过。因为绘制顺序,这在2D中根本就不那么容易。

我有一些你可以探索的建议。

  • 始终在条形图的顶部绘制圆环,但是当发生碰撞时,您可以计算条形图重叠的位置,并且不会在该位置绘制像素。您可以使用Pixmap进行此类计算。根据图像的大小,计算每个帧可能非常昂贵。
  • 更快但稍微更黑的方式可能是在多个图像中分割红色条,如果它的某个部分应该被环形重叠,则首先将其绘制在环之后。根据最终产品中红色条的显示内容以及条形图可能具有的角度,我可以想象这样做是非常棘手的。
  • 使用3D进行此操作。您可以在环上设置一个角度很小的广告牌,并将条形锁定在环中心的距离轴上。但是,在某些入口和出口角度,你会得到Z格斗,因为像素与相机的距离相同。这可能是也可能不是显而易见的,我不知道LibGDX将如何处理Z战斗。

答案 1 :(得分:0)

我想添加此解决方案: 如果物体将水平穿过环,我建议将精灵环设计为精灵(精灵1和精灵2)

enter image description here

你只需按顺序绘制精灵:

  • Sprite1
  • 精灵对象
  • Sprite2

如果物体要垂直穿过戒指,你也可以这样做

PS:如果物体要垂直和水平地通过环,这个解决方案不起作用

希望这是有帮助的

祝你好运