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