2012-04-03 8 views
2

私はボールとプレーヤーの両方でゲームをしています。これまでのところ、私は球のための球を作り、プレーヤーのための正方形(モデルは後で作られるでしょう)。私はすべての方向に行くことができるように、プレイヤーに動きのスクリプトを添付したが、彼はそれにぶつかってボールをピックアップすることができるようにしたい。これを行うには、私は、ボールスクリプトでは、衝突関数内で、私はそれをプレイヤーの位置に変更する必要があると仮定しています。ボールスクリプトからプレーヤーの座標にアクセスする正しい方法は何ですか?Unityの別のスクリプトからオブジェクトの位置にアクセスする

答えて

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; 

この方法すべての更新または固定更新。プレーヤーが後でボールを失う場合、ボールのtransform.parent = nullisKinematic = falseを設定することによって逆になります。