2016-12-28 3 views
0

私は基本的なAIスクリプトを持っています。ここで私は敵が追いかけるためのオブジェクトを割り当てます。 問題は、敵をプレハブに変えると、ターゲットの割り当ては空白になり、プレハブの間は変更できません。私はコード自体の中にオブジェクトを割り当てようとしましたが、どうすればよいかは完全にはわかりません(私はいくつかのことを試しましたが、何もパンを外していません)。Unity 5 //敵が生まれたとき、敵のターゲットはありませんか?

最初の問題を解決する方法やコード内でターゲットを割り当てる方法は、非常に役立ちます。 JavaScriptがコードの優先言語になります。

enter image description here

+0

あなたのスクリプトはどのようなプログラミング言語ですか? – Martin

+0

ターゲットがゲームオブジェクトではなくトランスフォームのように見えます。 – Martin

+0

Game Managerを使用して潜在的なターゲットのリストを 'List'としてロードしてから、敵が' awake() ' – Martin

答えて

2

それはプレハブの意図した行動です。

あなたのシーンのインスタンスから完全に独立している必要があるため、シーンに属するゲームオブジェクトをアセットのプレハブのフィールドにリンクすることはできません。プレハブはインスタンス化されることを意図されています。次に、インスタンス化された敵に公開フィールドを(コードで)割り当てることができます。プレハブをインスタンス化できるHDD内のファイルとして参照してください。任意のコードがなければ

それが役立つのは難しいですが、私はあなたがこれに似たような行うことができます推測:私はユニティスクリプトと全く流暢じゃない

var newEnemy : EnemyAI = Instantiate(enemyPrefab); 
newEnemy.target = GameObject.FindWithTag ("Player").GetComponent.<Transform>(); 

を。


あなたはまだあなたのシーンにプレハブをドラッグ&ドロップすることにより、シーンに直接敵を「インスタンス化」することができます、そしてあなたがあなたののターゲットを割り当てることができるようになりますがプレハブをインスタンス化します。

関連する問題