如何在 Unity 中为 9 切片制作动画?

How to animate a 9 slice in Unity?

我想制作一个 9 切片 的动画,只是 想让我输入一个 速度值 的值是我希望它在 特定轴 上变得多大,就在 参数 中。 但是当我 尝试 使用 SpriteRenderer.size += Vector2(something, something) 它的移动 buggily, inconsistent速度增长 ,有时会远高于 阈值 然后迅速恢复。 任何想法如何解决这个?

记住漂亮IEnumerators 的新手以及 general 中的编码和 unity 所以很好 lel

 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();
        }
    }

一个白痴!!!忘记使用WaitForFixedUpdate() 并使用了情况更糟的 WaitForEndOfFrame()。 Lmao 一切 现在工作。