因此,我想将对象的位置保留在变量中,并且永远不要更改它的值,但是Im无法做到这一点。我的代码如下所示:
public class Test : MonoBehaviour
{
Transform InitPosition;
void Start()
{
InitPosition = transform;
Debug.Log(InitPosition.position);
}
void FixedUpdate()
{
Debug.Log(InitPosition.position);
}
}
我知道这段代码本身并不做任何事情,但是我只想看到FixedUpdate Debug.Log的结果与Start相同。
感谢您的关注。
Transform
是一个类,表示InitPosition
存储对变换对象的引用。因此,无论InitPosition
和transform
指向同一个对象:如果对象的变化,你是否使用观察这些变化InitPosition.position
或transform.position
。
position
另一方面,aVector3
是一个结构,因此是一个具有复制语义的值类型。因此,请存储位置的副本:
public class Test : MonoBehaviour
{
Vector3 InitPosition;
void Start()
{
InitPosition = transform.position;
Debug.Log(InitPosition);
}
void FixedUpdate()
{
Debug.Log(InitPosition);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句