Object 通过它的Libgdx精灵环对象

Object 通过它的Libgdx精灵环对象,object,graphics,libgdx,sprite,Object,Graphics,Libgdx,Sprite,物体怎么可能像下图那样穿过环形尖顶呢 你能帮我吗?我不知道怎么做。我想你发布了一张错误的图片。要获得你发布的图像,你只需在黑环的顶部画一条红色的条 我猜你希望左边的戒指在上面,右边的戒指在上面,这样它就可以在视觉上穿过。这在2D中并不容易,因为绘制顺序 我有几个建议你可以研究一下 始终在条的顶部绘制环,但当发生碰撞时,计算条重叠的位置,而不在该位置绘制像素。您可以使用Pixmap进行这样的计算。根据图像的大小,计算每一帧可能非常昂贵 一种更快但稍显粗糙的方法是在多幅图像中分割红色条,如果它的

物体怎么可能像下图那样穿过环形尖顶呢


你能帮我吗?我不知道怎么做。

我想你发布了一张错误的图片。要获得你发布的图像,你只需在黑环的顶部画一条红色的条

我猜你希望左边的戒指在上面,右边的戒指在上面,这样它就可以在视觉上穿过。这在2D中并不容易,因为绘制顺序

我有几个建议你可以研究一下

  • 始终在条的顶部绘制环,但当发生碰撞时,计算条重叠的位置,而不在该位置绘制像素。您可以使用
    Pixmap
    进行这样的计算。根据图像的大小,计算每一帧可能非常昂贵
  • 一种更快但稍显粗糙的方法是在多幅图像中分割红色条,如果它的某一部分应该被戒指重叠,则先画,否则在戒指后面画。根据最终产品中红色条的外观,以及红色条可能具有的角度,我可以想象这可能非常棘手
  • 使用3D进行此操作。你可以有一个广告牌,广告牌上的圆环有一个小角度,广告条锁定在圆环中心的距离轴上。然而,在某些角度的入口和出口,你会得到Z战斗,因为像素将在同一距离的相机。这可能会也可能不会被注意到,我不知道LibGDX将如何处理Z战斗

    • 我认为你发布了一个错误的图像。要获得你发布的图像,你只需在黑环的顶部画一条红色的条

      我猜你希望左边的戒指在上面,右边的戒指在上面,这样它就可以在视觉上穿过。这在2D中并不容易,因为绘制顺序

      我有几个建议你可以研究一下

      • 始终在条的顶部绘制环,但当发生碰撞时,计算条重叠的位置,而不在该位置绘制像素。您可以使用
        Pixmap
        进行这样的计算。根据图像的大小,计算每一帧可能非常昂贵
      • 一种更快但稍显粗糙的方法是在多幅图像中分割红色条,如果它的某一部分应该被戒指重叠,则先画,否则在戒指后面画。根据最终产品中红色条的外观,以及红色条可能具有的角度,我可以想象这可能非常棘手
      • 使用3D进行此操作。你可以有一个广告牌,广告牌上的圆环有一个小角度,广告条锁定在圆环中心的距离轴上。然而,在某些角度的入口和出口,你会得到Z战斗,因为像素将在同一距离的相机。这可能会也可能不会被注意到,我不知道LibGDX将如何处理Z战斗

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

      您只需按该顺序绘制精灵:

      • 精灵1
      • 精灵对象
      • 精灵2
      如果物体垂直穿过圆环,你也可以这样做

      PS:如果对象要在垂直和水平方向通过环,则此解决方案不起作用

      希望这是有益的


      祝你好运

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

      您只需按该顺序绘制精灵:

      • 精灵1
      • 精灵对象
      • 精灵2
      如果物体垂直穿过圆环,你也可以这样做

      PS:如果对象要在垂直和水平方向通过环,则此解决方案不起作用

      希望这是有益的

      祝你好运