unity3d 中的对象在分配给 public 变量时不返回位置
Object in unity3d not returning position when assigned to public variable
我正在尝试使用 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) 游戏目标检查员已将脚本分配给:
然而现在的问题是,当我想找到那个对象的位置时,它只是 returns 初始位置 - 即它不更新 gameObject 玩家的位置 - 我如何更新 gameObject 变量?
当我遇到同样的错误时,原因是我不小心将脚本拖到场景视图中的错误对象。
如果您无意中将脚本附加到多个游戏对象并且只在一个地方初始化它,就会发生这种情况。
我检查了你的错误图像,你申请了门对象权利。放置 WALLS 或 PLAYER 的脚本。将解决问题
我正在尝试使用 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) 游戏目标检查员已将脚本分配给:
然而现在的问题是,当我想找到那个对象的位置时,它只是 returns 初始位置 - 即它不更新 gameObject 玩家的位置 - 我如何更新 gameObject 变量?
当我遇到同样的错误时,原因是我不小心将脚本拖到场景视图中的错误对象。
如果您无意中将脚本附加到多个游戏对象并且只在一个地方初始化它,就会发生这种情况。
我检查了你的错误图像,你申请了门对象权利。放置 WALLS 或 PLAYER 的脚本。将解决问题