我能够翻转游戏对象但我的问题是它在攻击动画开始之前翻转。我不知道如何按顺序排列。希望有人可以提供帮助。
// Update is called once per frame
void Update () {
if(Input.GetKeyDown(KeyCode.Space))
{
GetComponent<Rigidbody2D>().velocity = new Vector2(4f, 0);
StartCoroutine(enemyReturn());
}
}
IEnumerator enemyReturn()
{
yield return new WaitForSeconds(1.1f);
GetComponent<Animator>().SetTrigger("slimeMelee"); //attack animation
GetComponent<Rigidbody2D>().velocity = new Vector2(0, 0);
Vector3 theScale = transform.localScale; theScale.x *= -1;
transform.localScale = theScale;
}
答案 0 :(得分:0)
一个微不足道的解决方案是在腾飞前留出一些时间:
IEnumerator enemyReturn()
{
yield return new WaitForSeconds(1.1f);
GetComponent<Animator>().SetTrigger("slimeMelee"); //attack animation
yield return new WaitForSeconds(0.5f); // Setup this yield time.
GetComponent<Rigidbody2D>().velocity = new Vector2(0, 0);
Vector3 theScale = transform.localScale; theScale.x *= -1; transform.localScale = theScale; // code to flip
}
在此示例中,代码将在翻转前产生0.5秒。您应该在适合动画的时间更改0.5
。