2016-08-06 6 views

答えて

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); 
    } 
} 

それは最善ではありませんたとえば、アーキテクチャを再考する必要があるかもしれません。

+0

Unity 5がマルチプレイヤーのためにプレイヤーで生成される方法を本当に変えることはできません(私の知識レベルで、またはカスタムスクリプトなしで。プレイヤーがプレイヤーに10ポイントを与えるコインと対話するという例があります。たとえば、スコアシステムがプレーヤーにあり、コインがすでにthに入っている場合などですeシーン。レベルがロードされると、変更しようとしているスコアシステムが見つからないため、コインにヌル例外エラーが発生します。 –

+0

それはまだ構造的な問題のように聞こえますが、プレイしているプレイヤーの個々のスコアをちょうど変更した場合、コインはスコアシステムにアクセスする必要があります。 プレイヤーがコインとやりとりするとき、コインの価値を返すメソッドGiveMePoints()を呼び出し、プレイヤーがそれをスコアに追加するということです。 – Indyz

関連する問題