不能使用其他脚本的脚本
问题描述:
using UnityEngine;
using System.Collections;
public class Egg : MonoBehaviour {
// Use this for initialization
void Start() {
PlayerController playerScript = GetComponent<PlayerController>();
}
void OnTriggerEnter2D(Collider2D coll)
{
this.GetComponent<SpriteRenderer>().enabled = false;
playerScript.Increment();
}
}
它不会让我使用OnTrigger函数中的增量函数。不能使用其他脚本的脚本
答
变量playerScript是start
方法内声明里面,有没有在OnTriggerEnter2D
方法称为playerScript变量。
你应该做这样的事情,而不是:
public class Egg : MonoBehaviour {
private PlayerController playerScript;
// Use this for initialization
void Start() {
playerScript = GetComponent<PlayerController>();
}
void OnTriggerEnter2D(Collider2D coll)
{
this.GetComponent<SpriteRenderer>().enabled = false;
playerScript.Increment();
}
}
答
确保OnTriggerEnter2D
确实被触发,只需在OnTriggerEnter2D
内添加Debug.Log("Boom!");
即可。
其次,检查是否找到playerScript
。收藏此OnTriggerEnter2D体
Debug.Log("Is playerScript null? "+ (playerScript == null));