2017-07-19 24 views
-1

所以我讓我的玩家站在一個立方體旁邊。播放器有一個腳本,除了43是int外,其餘都是空的。除了多維數據集腳本中的int爲42以外,同樣適用於多維數據集。如何獲取(或檢測)多維數據集腳本中的int並將其打印出來在控制檯中使用OnCollisionEnter(或OnTriggerEnter,如果它更好)如下所示:(「該立方體的編號爲42」)?如何從腳本中獲取變量,我的玩家正在碰撞?

+2

這個問題有幾個基本的組件在理解Unity和編碼方面至關重要。我強烈建議首先檢查一些[教程](https://unity3d.com/learn/tutorials)。另外,當提出這樣的問題時,顯示你的代碼,什麼不工作,以及你嘗試過的。 – ryeMoss

+0

啊謝謝你的回答,如果我不能得到它的工作,我會來這裏或在其他有用的地方問 –

回答

0

那麼你應該肯定在繼續之前通過一些教程,因爲你似乎甚至不知道甚至非常基本的東西,但至少指出你在正確的方向,你會做這樣的事情(假設C#,不是UnityScript):

void OnCollisionEnter(Collision collision) 
{ 
    int numberOfCollidedObject = collision.gameObject.GetComponent<objectsScriptNameHere>().variableNameHere; 
    Debug.Log(numberOfCollidedObject); 
} 

我怎麼知道該怎麼做?我看着the documentation。我可以看到,當OnCollisionEnter被調用時,它通過了一個Collision類型的變量。它在文檔中是超鏈接的,所以我點擊Collision,發現它包含一個名爲gameObject的變量,它包含對我們剛纔碰撞的對象的遊戲對象的引用。我碰巧知道要進入另一個腳本,您調用GetComponent<scriptName>(),並從那裏訪問任何公共變量和函數。

0

,如果你有兩個對撞機(球員和反對誰碰撞播放器),你可以凸對撞機,並設置isTrigger爲true

然後調用函數OnTriggerEnter()

void OnTriggerEnter(Collider other) { 
    Debug.Log(other.name); 
} 
相關問題