有人可以帮我解决这个问题,我整晚都试图解决这个问题。
我已经查看了很多关于如何从另一个脚本访问函数的论坛和视频,我得到的唯一答案是向我展示如何从另一个脚本接收打印语句或数字值。
我试图让我的2个脚本进行通信,如果我的Health <= 0
然后从我的脚本中调用我的函数,这应该使我的char有效死亡。这是我的剧本。这也是2D游戏。
using UnityEngine;
using System.Collections;
public class Collision : MonoBehaviour
{
Animator anim;
public isDead die;
public int PlayerHealth = 100;
void Start()
{
// I did this to test if it was working so I didn't have to wait for the health to drop
die.Death();
}
void OnCollisionEnter2D(Collision2D Coll)
{
if (Coll.gameObject.tag == "Enemy")
{
PlayerHealth -= 10;
}
if (PlayerHealth <= 0)
{
die.Death();
}
}
}
这是我的另一个剧本:
using UnityEngine;
using System.Collections;
public class isDead : MonoBehaviour
{
Animator Anim;
int IsDead = Animator.StringToHash("IsDead");
void Start()
{
Death();
}
public void Death()
{
Anim.SetTrigger(IsDead);
}
}
有人可以帮帮我吗?谢谢!
感谢您的帮助
,以下是我所做的修复工作首先,我没有将我的isDead Die与一个对象相关联,所以我将它与我的Hero(玩家)对象相关联,该对象中有动画师。然后我在我的脚本中错过了isDead函数Death()
Anim = GetComponent(); (Animator)不会在其&lt;&gt;中显示但这就是我放在括号中的内容。
所以通过将它添加到我的Death()函数中,并将第一个脚本与我的游戏对象相关联,我可以使用两个不同的脚本对碰撞进行动画处理。