我是統一的新手,正在學習課程。我遇到了這個錯誤:
只有 assignment、call、increment、decrement、await 和 new 物件運算式可以用作陳述句
這是我的代碼:
using UnityEngine;
public class PlayerCollision : MonoBehaviour
{
public PlayerMovement movement;
void OnCollisionEnter (Collision collisionInfo)
{
if (collisionInfo.collider.tag == "Obstacle")
{
Debug.Log("We hit an obstacle!");
movement.enabled = false;
FindObjectOfType<GameManager>().EndGame;
}
}
}
有人可以向我澄清這意味著什么嗎?
uj5u.com熱心網友回復:
這是表達不是陳述。它不能靠自己。
FindObjectOfType<GameManager>().EndGame
你在這里遺漏了一些東西。
FindObjectOfType<GameManager>().EndGame()
可能是正確的。
此外,在呼叫任何方法之前,您應該確保 FindObjectOfType 實際上回傳一個 GameManager 實體,而不是 null ,否則會導致例外。
uj5u.com熱心網友回復:
FindObjectOfType<GameManager>().EndGame;
您的 GameManager 腳本是否有 EndGame 公共變數或函式?如果那是函式,那么您錯過了 ()。所以你可以像下面這樣寫;
FindObjectOfType<GameManager>().EndGame();
如果那是公共變數,則必須將其分配給這樣的變數;
variable = FindObjectOfType<GameManager>().EndGame;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/508680.html
標籤:C#unity3d
下一篇:字符卡在瓷磚上unity3d