【发布时间】:2021-07-05 14:08:26
【问题描述】:
当我使用我的斧头时,我试图播放动画,但是即使我对其进行了编码,它也不会播放。我知道 OnTrggerStay 可以工作,因为在我用来破坏僵尸的另一个脚本中,它被触发了,但它仍然没有动画。这个脚本附在我的斧头上。
(如果代码不好/混乱,我是个菜鸟,很抱歉)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;
public class Axe_animation : MonoBehaviour
{
public AnimationClip axeAttack;
public AnimationClip retractBlade;
private Animation anim;
private bool hasAnimPlayed = false;
private Coroutine animat = null;
private void OnTriggerStay(Collider coll)
{
if (coll.gameObject.tag == "Zombie" && Input.GetMouseButtonDown(0))
{
if (animat == null)
{
animat = StartCoroutine(Arnim());
}
}
}
IEnumerator Arnim()
{
anim.Play(axeAttack.name);
hasAnimPlayed = true;
if (hasAnimPlayed == true)
{
anim.Play(retractBlade.name);
hasAnimPlayed = false;
}
yield return new WaitForSeconds(0.5f);
animat = null;
}
}
【问题讨论】: