我对Unity非常陌生(使用4.5)并且我试图学习统一3D。我有这个小游戏"我只想挥动斧头杀死蜘蛛。我创建了名为" AxeSwing"和一个小脚本,当我点击我的左按钮时触发动画。问题是我有一个错误说我的变量" attackAnimationClip"没有分配给它。正如您在屏幕截图中看到的那样,它被分配,当我左键单击动画触发器并返回到我的IdleAxe动画时。
这里是剧本:
[RequireComponent(typeof(Animation))]
public class AttackAnimation : MonoBehaviour {
public AnimationClip attackAnimationClip;
// Update is called once per frame
void Update () {
if (Input.GetMouseButton(0))
animation.Play(attackAnimationClip.name);
else if (IsAttackFinished)
animation.CrossFade(animation.clip.name);
}
private bool IsAttackFinished
{
get { return animation[attackAnimationClip.name].time > animation[attackAnimationClip.name].length; }
}
}
答案 0 :(得分:1)
由于您已经将动画附加到GameObject,您可以这样做:
animation.Play("AxeSwing");