我有一個玩家對象和一個敵方物體,兩邊都有碰撞體,還有那裏的武器,但是這會讓他們在走進對方時造成傷害。我想要的是,如果「isAttacking」動畫正在運行,他們只會造成傷害。我的代碼連接到播放機和敵人的目的,是下面:Unity 5檢查動畫
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class detectHit : MonoBehaviour
{
public Slider healthbar;
Animator anim;
public string opponent;
public Collider ecollider;
// Use this for initialization
void Start()
{
anim = GetComponent<Animator>();
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag != opponent) return;
healthbar.value -= 20;
if (healthbar.value <= 0)
{
anim.SetBool("isDead", true);
ecollider.gameObject.SetActive(false);
}
}
// Update is called once per frame
void Update()
{
}
}
我試過網上找,但大部分的東西是過時我覺得我需要做這樣的事情:
if(anim.GetCurrentAnimatorStateInfo(0).IsName("isAttacking")){
healthbar.value -= 20;
}
但這不起作用,也許因爲我沒有看它看對手動畫?如果是這樣的話,我只是不知道如何尋找敵人的動畫。
任何幫助將不勝感激。