using UnityEngine; using System.Collections;
public class ClickToMoveScript : MonoBehaviour
{
public string Chopping = "Chopping";
public void PlayWoodCuttingAnim()
{
//Play Woodcutting Animation
gameObject.GetComponent<Animation>().CrossFade (Chopping);
}
}
这是我的其他剧本
using UnityEngine;
using System.Collections;
public class WoodCuttingScript: MonoBehaviour
{
ClickToMoveScript ClickToMove;
void Start()
{
ClickToMove.PlayWoodCuttingAnim();
}
}
http://i.stack.imgur.com/wt0mN.png
如您所见,上面的链接^我已经在动画组件内部添加了动画。
我发现的另一件事是,如果我在ClickToMove脚本中调用PlayWoodCuttingAnim()函数,它可以正常工作,但在其他脚本中,它可以正常工作。
错误控制台> NullReferenceException:对象引用未设置为对象的实例。
任何帮助将不胜感激
最佳答案
好吧,很少有常用的方法可以做到这一点。
就像从另一个脚本调用方法一样,您将需要附加(附加到gameObject)脚本实例,而不是简单的脚本实例。
你可以做到的
void Start()
{
ClickToMove = FindObjectOfType<ClickToMoveScript>();
ClickToMove.PlayWoodCuttingAnim();
}