0
在試圖創建一個遊戲我創建團結我曾經遇到過一個奇怪的問題的基礎OnCollisionEnter打破,當else語句添加
此代碼工作得很好(materialstate被設置爲0啓動())和對象本身的確,只要我添加它只是打破一個else語句改變材料
void OnCollisionEnter(Collision col){
if (col.gameObject.name == "Player" && Materialstate == 0) {
renderComp.material = goal;
Materialstate = 1;
}
}
然而,衝突發生(我知道,因爲我已經在Materialstate print語句檢查它更新())但這次甚至不是最初的碰撞(這是工作正常els之前e增加了)作品:
void OnCollisionEnter(Collision col){
if (col.gameObject.name == "Player" && Materialstate == 0) {
renderComp.material = goal;
Materialstate = 1;
} else {
if (col.gameObject.name == "Player") {
renderComp.material = starting;
Materialstate = 0;
}
}
}
您可以請嘗試在IF語句的每一層添加一些調試消息。 'Debug.Log(「Message 1」);' –
@JackLeahy嗯謝謝你的提示,似乎所有3層都在每次碰撞發生時執行(一個飛機上的球bou))關於如何解決這個問題的任何想法 – haseo98