在 Unity 中的两个 SCRITPS 之间传输转换变量


public class player_movement : MonoBehaviour
{
// Start is called before the first frame update
public Transform position;
void Start()
{
position = GetComponent<Transform>();
}

如何在另一个脚本中访问位置变量

这些根本没有任何理由。

您的组件player_movement属于类型MonoBehaviour,这是一个Behaviour,它是一个Component,因此已经具有继承的属性,transform返回Transform引用(如果组件附加到GameObject)。

因此,任何立即引用您的组件的人也可以访问其.transform.position


至于如何获得该参考,有数千种不同的方法。最典型的

public player_movement playerMovement;

只需将其拖放到检查器中即可。

在连接到同一GameObject的另一个组件上使用

var playerMovement = GetComponent<player_movement>();

或者如果场景中只有一个

var playerMovement = FindObjectOfType<player_movement>();

无论哪种方式,最后您都可以简单地使用

var playerTransform = playerMovement.transform;

并随心所欲地使用它,例如访问它的位置

var playerPosition = playerTransform.position;

最新更新