【问题标题】:How to avoid mirroring canvas in unity如何避免统一镜像画布
【发布时间】:2020-05-10 23:16:03
【问题描述】:

我想将我的生命值条和法力条附加到玩家身上,但我不知道如何将它附加到玩家 winhout 镜像(当玩家模型翻转时,整个画布每次都会翻转)。

这是视频:https://youtu.be/p9UvsMXUmLU

这里是项目:https://mega.nz/file/zUY0HYbL#ahwM_uGlp7-5iMLFjR1uaj6hgeVpjyhB3SCLe9xAt88

【问题讨论】:

    标签: c# unity3d camera 2d


    【解决方案1】:

    在您的 CharacterController2D 中有 Flip() 方法可以翻转 transform.localScale.x 符号。看看这个变换是什么。在您的情况下,您的条形图是您翻转的根对象的子对象。所以它翻转 character_nomove.transform.x 以及它的所有孩子。您可能不想将这些条及其画布放在您的角色变换之下。我也看不出他们有任何理由进入世界空间。我猜屏幕空间覆盖在这里就足够了。

    【讨论】:

      【解决方案2】:

      你可以做的是取消父栏,然后使用类似的东西:

      healthbar.transform.position = yourCharacter.transfomr.position + new vector2(0 , 1);
      

      Update 方法中将其沿角色移动并略高于。 请注意,如果您的角色是 2D 精灵并且条形图在 Canvas 中,则您必须使用以下内容:

      healthbar.transform.position = Camera.Main.WorldToScreenPoint(yourCharacter.transfomr.position + new vector2(0 , 1));
      

      从您放置在世界中的角色获取屏幕位置(对于 Canvas)。

      【讨论】:

        猜你喜欢
        • 2020-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多