2
我正在用球和球員進行遊戲。到目前爲止,我爲球員製作了一個球形和一個方形(模型將在稍後製作)。我給球員附上了一個動作腳本,以便它可以向四面八方走,但是我希望他在碰到球時能夠拿起球。爲了做到這一點,我假定在碰撞函數中的球腳本中,我必須將其位置改變爲球員的位置。所以我想知道:從腳本中訪問玩家座標的正確方法是什麼?在Unity中訪問另一個腳本中的對象位置
我正在用球和球員進行遊戲。到目前爲止,我爲球員製作了一個球形和一個方形(模型將在稍後製作)。我給球員附上了一個動作腳本,以便它可以向四面八方走,但是我希望他在碰到球時能夠拿起球。爲了做到這一點,我假定在碰撞函數中的球腳本中,我必須將其位置改變爲球員的位置。所以我想知道:從腳本中訪問玩家座標的正確方法是什麼?在Unity中訪問另一個腳本中的對象位置
我希望我理解你的權利。先手的位置,你會怎麼做:
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 = null
和isKinematic = false
。