|
Flash防衛ゲーム作成は今回で第六回目となり、前回同様に途中経過のサンプルも掲載する。 マップをクリックすると障害物が設置され、敵キャラが最短ルートでゴール地点へ進むところまで実装している。 今回は設置した障害物を砲台という扱いにし、敵キャラが射程に入ったらその方向を向くという仕組みを作る。 考え方としてはシンボルAとシンボルBというものがあり、それが重なったら向きを変えるという処理を行う。 重なり判定も方向転換もFlashでは関数が用意されているので比較的簡単にできる。 シンボルの重なりを判定するのは主にゲーム類に多く使われるが、方向転換はジョグダイヤルメニューなどプロモ的な効果や複雑な動きをさせるときには重宝する。 まずは黒塗り扱いだった障害物に砲台らしさを出すためにその絵を用意する。 ![]() その絵をFlash内のライブラリに読み込み、黒塗りされているフレームに配置する。 次に、砲台の射程を設定する。 前述した通り、「シンボルAとシンボルBというものがあり、それが重なったら」という考え方から、シンボルAを前回までに作成していた敵キャラとし、シンボルBになるものをFlash内で絵画する。 今回は円を描いてそれを設置するが、四角形の射程を用意することも可能だ。 用意した円をさきほどの障害物と中心で整列するように配置する。 Flash内で絵画しているので、広範囲の射程にしたければ円を大きくし、逆にせまくしたい場合は円を小さくする。 これで2つのシンボルが用意されたので、砲台にActionScriptを設定する。 この場合、「hitTest(敵キャラのインスタンス名)」を記載して、「hitTest」が"True"だったら向きを変えるという条件式を与える。 "True"だった場合、砲台の向きを敵キャラの方に向けるのだが、敵キャラは常に動いているのでその位置を常に取得して方向転換する必要がある。 敵キャラの位置はX・Y座標を取得し、そこから角度の計算をする。 それを「_rotation」に当てはめれば砲台の方向転換が可能になる。 ![]() ->サンプル 次回は設置した射程に入った敵キャラを攻撃する仕組みを実装する。 |
| << 前記事(2007/10/24) | トップへ | 後記事(2007/10/26)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|---|
すげぇ!! |
テンペ 2007/10/28 22:38 |
だいぶできてきたね。 |
LUNARAVE 2007/10/29 08:26 |
| << 前記事(2007/10/24) | トップへ | 後記事(2007/10/26)>> |