[2D] 続_目印(マーカー)を使った敵機の移動パターン作成

記事作成 2020年9月26日
PlayMaker 1.9.0 p20 / Unity 2019.3.3f1

前回 [2D] 目印(マーカー)を使った敵機の移動パターン作成 
の続きになります。


プレハブ化した「敵機」の移動パスに、グローバル変数を設定するところから。

まずグローバル変数の作成。 (参考 グローバル変数の作り方 ) 
シーン上の目印を格納する、グローバル変数を作ります。


そこへ、シーンの開始直後に、目印を格納します。


空オブジェ 「emp グローバル変数設定」を作成し、このようなノードを作ります。
開始直後に、[ Set Game Object ] で、それぞれの変数にオブジェクトを設定。


Hierarchy からドロップでOK。

-----------------------------------

そして、プレハブ化した「敵機」を選択し (プレハブ化する前でもいいです)


空欄になっている Element に、グローバル変数を設定します。


このように。
そして、試しにシーンに置いて再生すれば動くはずですが、前に述べたように、
グローバル変数にオブジェクトが代入されるのに、わずかながら時間がかかるので、


シーン開始直後に試すときは、プレハブを壊すなりして、このように時間待ちさせる
必要があります。

-----------------------------------

では、シーン再生中に、アクション [ Create Object ] で「敵機」プレハブを生成してみます。
「敵機」を 発生させるノードを作るため、空オブジェクト 「emp 敵機発進」を作成。

プレハブ と 出現地点を、それぞれ図のようにドロップ。
Wait は適当な時間を設定します。
シーン開始直後でなければ(ゲーム中であれば)時間待ちは必要ないですね。


シーンを再生するとこのような感じ。


さらに、時間差を付けて、同じプレハブを生成すると

-----------------------------------

最後に、応用というか、コース設定の違う2種類の「敵機」を、5機づつループを使って
生成してみました。工夫しだいで、どのような表現もできるでしょう。


目印の赤丸は、Sprite Renderer のチェックを外すか Color のアルファを 0 にすることで
見えなくすることができます。

*コースが単調にならないためには、目印を一つの親オブジェの子オブジェにして
親オブジェを周期的に動かす、等の工夫もできます。上下左右等。

プレハブの「敵機」が、グローバル変数に代入された「目標」を認識するのは、生成
された時なので、そのときによって目標の位置が少し違う、ということになります。

0 件のコメント:

コメントを投稿