【问题标题】:How to animate a 9 slice in Unity?如何在 Unity 中为 9 切片设置动画?
【发布时间】:2021-10-23 06:29:42
【问题描述】:

我想为 9 片 制作动画,而 只是 想让我输入一个 speed 值,其值是我有多大希望它只是在一个参数中成为特定轴。 但是,当我尝试使用 SpriteRenderer.size += Vector2(something, something) 时,它的移动 buggily速度增长不一致,有时会移动远高于阈值,然后回弹。 任何想法如何解决这个

记住记住相当IEnumerators、编码和统一很陌生 所以要乖一点儿

 public IEnumerator BarSize(float speed , float XToSize, float YToSize)
    {
        while(true)
        {
            for(float i = Sprite.size.x; 1 != XToSize; i = Sprite.size.x)
            {
                Sprite.size += new Vector2(speed, 0);

                if(i >= XToSize)
                {
                    Sprite.size = new Vector2(XToSize, Sprite.size.y);

                    yield break;
                }

                yield return new WaitForFixedUpdate();
            }
            
            for (float i = Sprite.size.x; 1 != XToSize; i = Sprite.size.x)
            {
                Sprite.size += new Vector2(0, speed);

                if (Sprite.size.y >= YToSize)
                {
                    Sprite.size = new Vector2(transform.localScale.x, YToSize);

                    yield break;
                }

                yield return new WaitForEndOfFrame();
            }

            if (Sprite.size == new Vector2(XToSize, YToSize))
            {
                yield break;
            }

            yield return new WaitForEndOfFrame();
        }
    }

【问题讨论】:

    标签: unity3d animation resize size sprite


    【解决方案1】:

    我是一个 白痴!!!忘记使用WaitForFixedUpdate()并使用了更糟糕的WaitForEndOfFrame()。 Lmao 一切现在都可以使用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 2017-04-27
      • 1970-01-01
      相关资源
      最近更新 更多