私は統一でゲームを作ろうとしており、スクリプトはC#にあります。資産/ Enemy.csで オブジェクトEnemy.Update(のインスタンスに設定されていないオブジェクト参照)(::35私はノードNullReferenceException Unity
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour {
GameObject pathGO;
Transform targetPathNode;
int pathNodeIndex = 0;
float speed = 5f;
public int health = 1;
// Use this for initialization
void Start() {
pathGO = GameObject.Find ("Path");
}
void GetNextPathNode(){
targetPathNode = pathGO.transform.GetChild (pathNodeIndex);
pathNodeIndex++;
}
// Update is called once per frame
void Update() {
if (targetPathNode = null) {
GetNextPathNode();
if (targetPathNode == null) {
// We've run out of path
ReachedGoal();
}
}
Vector3 dir = targetPathNode.position - this.transform.localPosition;
float distThisFrame = speed * Time.deltaTime;
if (dir.magnitude <= distThisFrame) {
// We reached the node
targetPathNode = null;
}
else {
// Move towards the node
transform.Translate(dir.normalized * distThisFrame);
//Quaternion targetRotation = Quaternion.LookRotation (dir);
this.transform.rotation = Quaternion.LookRotation (dir); //Quaternion.Lerp (this.transform.rotation, targetRotation, Time.deltaTime);
}
}
void ReachedGoal(){
Destroy (gameObject);
}
}
とNullReferenceExceptionの方に私のオブジェクトの移動を行うとき、私はこのエラーを持っています)ここにエラーがあります。
まあ '場合(targetPathNode = NULL)' 'でなければなりません(targetPathNode == null)のŁukaszMotyczkaうん@' –
場合。そのとおり。これはtypo – Programmer
@amandとして閉じられるべきであり、ナンバリングがないので、どの行が35番目であるかを指摘してください。それは将来的に役立つかもしれない。 –