从Unity中的另一个脚本访问对象位置

时间:2012-04-03 22:55:59

标签: c# unity3d

我用球和球员进行比赛。到目前为止,我为球员制作了一个球体和一个正方形(模型将在后面制作)。我将一个动作脚本附加到玩家,以便它可以向各个方向移动,但我希望他能够在碰到它时拿起球。要做到这一点,我假设在球的脚本中,在碰撞功能中,我必须将它的位置改为玩家的位置。所以我想知道:从球形脚本访问玩家坐标的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我希望我理解你。要获得你将要做的位置:

GameObject player = GameObject.Find ("Player");
Transform playerTransform = player.transform;
// get player position
Vector3 position = playerTransform.position;

但是为了接球并带走球,你应该做育儿:

// ...
transform.parent = playerTransform;
// take care to disable physics while ball is under control of the player
rigidbody.isKinematic = true;

这样你就不必每个Update或FixedUpdate自己移动球。如果球员稍后失去球,则只需设置球的transform.parent = nullisKinematic = false即可。