【发布时间】: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