【发布时间】:2015-10-16 08:35:47
【问题描述】:
我正在尝试使用 transform.position 查找两个对象之间的距离。
这是我的脚本代码:
using UnityEngine;
using System.Collections;
public class Trigger : MonoBehaviour {
public GameObject Door;
public GameObject Player;
int count = 0;
// Use this for initialization
void Start () {
Debug.Log (Door);
Debug.Log (Player);
}
// Update is called once per frame
void Update () {
Debug.Log (Door.transform.position);
//Debug.Log (Door);
//Debug.Log (Player);
//float distance = Vector3.Distance (Door.transform.position, Player.transform.position);
//Debug.Log (distance);
}
这是一张图片,显示 1) 场景和层次结构 2) 游戏对象的检查员将脚本分配给:
但是现在的问题是,当我想找到该对象的位置时,它只返回初始位置 - 即它没有更新游戏对象玩家的位置 - 我如何更新游戏对象变量?
【问题讨论】:
-
您在 Trigger Start() 方法中看到任何错误吗?
-
您的游戏对象门未分配给任何对象实例。 Start() 方法不会触发错误,因为它只会打印出 NULL 或其他内容,但是当您尝试使用 Door 作为实例并访问转换时,会引发上述错误。
-
我以为我已经将游戏对象门分配给了场景中的游戏对象(门)——以及游戏对象玩家
标签: variables unity3d runtime-error variable-assignment