ユニティマルチプレイヤーでは、シーンがロードされた後にプレイヤープレハブが生成されますが、必要なスクリプトを宣言してNullReferenceExceptionエラーを回避する最良の方法は何ですか?オブジェクトが生成された後にスクリプトにアクセスするには?
0
A
答えて
0
私はマルチプレイヤー自身に精通していませんが、これはGameObject.Find( "")とGetComponentによって実行できると思います。 私はまたFindObjectOfTypeにつまずいた。私はそれがあなたが探しているものかどうかは分かりませんが、投稿するのに害はありません。がんばろう。
0
プレハブが作成されたときにスクリプトで探すのではなく、プレハブが作成したスクリプトを伝えないのはなぜですか?
ユースケースが指定されていない場合は、どのような例をとっても大変です。 (あなたはあまりにも多くのクライアントを信頼していないので、このロットをやり直す必要がある場合がありますあなたのネットワーキングのためにそれを使用するつもりだので)
本当に基本的な例:
class ScriptA : Monobehaviour() {
List<GameObject> prefabs;
public void AddPrefab (GameObject Prefab) {
prefabs.Add (Prefab)
}
}
class Prefab : Monobehaviour() {
void Start() {
FindObjectOfType(ScriptA).AddPrefab(gameObject);
}
}
それは最善ではありませんたとえば、アーキテクチャを再考する必要があるかもしれません。
関連する問題
- 1. Swagger.jsonファイルが生成された後に、プログラムでSwagger.jsonファイルにアクセスする方法
- 2. 作成後にbytesIOオブジェクトにアクセスする
- 3. htmlunitでJavascriptで生成されたhtmlにアクセスするには?
- 4. ランダムに生成されたワールドポイントでオブジェクトを生成する
- 5. 最後に作成されたオブジェクトID
- 6. 動的に生成されるGUI JTextFieldオブジェクトへのアクセス
- 7. node.jsスクリプトが実行された後にnode.jsスクリプトを停止するには
- 8. グループの最初のオブジェクトがランダムに生成されたときに、グループ内のオブジェクトを生成するPython
- 9. 生成された文字列による角型のJSONオブジェクトへのアクセス
- 10. Silverlight DataFormの中に生成されたテキストボックスにアクセスするには?
- 11. node.jsスクリプトが強制終了された場合に生成されるプロセス
- 12. firebaseのcloudfunctionsにサムネイルを生成した後に生成されたサムネイルURLを取得するには?
- 13. 別のクラスで作成されたオブジェクトにアクセスする
- 14. Linux、Bashは、生成されたプロセスが終了した後にスクリプト内のコマンドを実行します。
- 15. PHPスクリプトによって生成された画像を保存するには?
- 16. ユニティレイキャスティングは、インポートされたオブジェクト(meshcolliderが生成される)
- 17. Bashスクリプトを生成するために使用されるPythonスクリプトのKeyError
- 18. 別のドッカーコンテナで生成されたデータにアクセスする
- 19. ネイティブコードから生成されたAndroid Rクラスにアクセスする
- 20. サブパッケージから生成されたApolloクラスにアクセスする - Kotlin
- 21. 結果がすでに生成された後にsqlを再ソートする
- 22. ダート - 私は、このように動的に生成されたリストにアクセスしようとしていますアクセス、動的に生成されたリスト
- 23. ビューが設定された後にスクリプトが終了する(クリアケース)
- 24. コンパイルエラーが発生した後に「アクセスが拒否されました」
- 25. 動的に生成されたボタンにアクセス
- 26. spring-restdocsに生成されたコンテンツをspringブートアプリケーションにアクセス
- 27. 動的に生成されたJQueryスクリプトタグでスクリプトが実行されない
- 28. Rails 3.1 ActiveRecord Modelオブジェクトにアタッチされたスタイルシートを生成する
- 29. 作成後のネストされたオブジェクトのアクセスID
- 30. ロード後にアクセスエレメントが生成されましたか?
Unity 5がマルチプレイヤーのためにプレイヤーで生成される方法を本当に変えることはできません(私の知識レベルで、またはカスタムスクリプトなしで。プレイヤーがプレイヤーに10ポイントを与えるコインと対話するという例があります。たとえば、スコアシステムがプレーヤーにあり、コインがすでにthに入っている場合などですeシーン。レベルがロードされると、変更しようとしているスコアシステムが見つからないため、コインにヌル例外エラーが発生します。 –
それはまだ構造的な問題のように聞こえますが、プレイしているプレイヤーの個々のスコアをちょうど変更した場合、コインはスコアシステムにアクセスする必要があります。 プレイヤーがコインとやりとりするとき、コインの価値を返すメソッドGiveMePoints()を呼び出し、プレイヤーがそれをスコアに追加するということです。 – Indyz