TileControllerスクリプトでドロップイベントが発生すると、PlayerControllerスクリプトのメソッドを使用してプレハブをインスタンス化しようとしています。Unity C# - メソッドを呼び出すプレハブをインスタンス化する
私はTileControllerで使用する場合:
public void OnDrop (PointerEventData eventData){
GameObject instance = Instantiate(Resources.Load("Player", typeof(GameObject))) as GameObject;
}
正しくシーンにプレハブの負荷。
しかし、私は使用している場合:
public void OnDrop (PointerEventData eventData){
player.instantiatePlayer();
}
エラーが返されます次に:
NullReferenceException: Object reference not set to an instance of an object
私が使用しているPlayerController方法は次のとおりです。
public void instantiatePlayer() {
GameObject instance = Instantiate(Resources.Load("Player", typeof(GameObject))) as GameObject;
}
私はそれが本当に何かだと思いますシンプルな私は行方不明ですが、私はそれが何であるかを判断することができません。
TileControllerクラスで私は持っています:\t 'private PlayerController player; void Start(){ \t player = GetComponent(); } ' –
Aeross
このスクリプトが実行されているGameObjectにPlayerControllerがアタッチされていることを確認してください。そうでない場合は、追加します。そうであれば、null参照はPlayerController.instantiatePlayerメソッドのどこかにあります。そのため、Visual Studio Tools for Unity拡張機能を使用してVisual StudioをUnityに接続し、そのコード行にブレークラインを挿入して、ヌルリファレンスの参照先を確認しますです。コンソールウィンドウには、例外の呼び出しスタックが表示されます(正しくリコールした場合) –