LUNARAVE WEBクリエーターの仕事と休息

アクセスカウンタ

help リーダーに追加 RSS Flashゲームを作ろう (6)キャラが射程に入ったら砲台の向きを変える

<<   作成日時 : 2007/10/25 12:48   >>

トラックバック 0 / コメント 2

Flash防衛ゲーム作成は今回で第六回目となり、前回同様に途中経過のサンプルも掲載する。

マップをクリックすると障害物が設置され、敵キャラが最短ルートでゴール地点へ進むところまで実装している。

今回は設置した障害物を砲台という扱いにし、敵キャラが射程に入ったらその方向を向くという仕組みを作る。


考え方としてはシンボルAとシンボルBというものがあり、それが重なったら向きを変えるという処理を行う。

重なり判定も方向転換もFlashでは関数が用意されているので比較的簡単にできる。

シンボルの重なりを判定するのは主にゲーム類に多く使われるが、方向転換はジョグダイヤルメニューなどプロモ的な効果や複雑な動きをさせるときには重宝する。


まずは黒塗り扱いだった障害物に砲台らしさを出すためにその絵を用意する。

 砲台


その絵をFlash内のライブラリに読み込み、黒塗りされているフレームに配置する。


次に、砲台の射程を設定する。

前述した通り、「シンボルAとシンボルBというものがあり、それが重なったら」という考え方から、シンボルAを前回までに作成していた敵キャラとし、シンボルBになるものをFlash内で絵画する。

今回は円を描いてそれを設置するが、四角形の射程を用意することも可能だ。

用意した円をさきほどの障害物と中心で整列するように配置する。
Flash内で絵画しているので、広範囲の射程にしたければ円を大きくし、逆にせまくしたい場合は円を小さくする。


これで2つのシンボルが用意されたので、砲台にActionScriptを設定する。

この場合、「hitTest(敵キャラのインスタンス名)」を記載して、「hitTest」が"True"だったら向きを変えるという条件式を与える。

"True"だった場合、砲台の向きを敵キャラの方に向けるのだが、敵キャラは常に動いているのでその位置を常に取得して方向転換する必要がある。


敵キャラの位置はX・Y座標を取得し、そこから角度の計算をする。
それを「_rotation」に当てはめれば砲台の方向転換が可能になる。

 マップ

->サンプル


次回は設置した射程に入った敵キャラを攻撃する仕組みを実装する。

設定テーマ

注目テーマ 一覧

月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(2件)

内 容 ニックネーム/日時
すげぇ!!
テンペ
2007/10/28 22:38
だいぶできてきたね。
LUNARAVE
2007/10/29 08:26

コメントする help

ニックネーム
本 文
WEB技術関連
EC-CUBE関連
ソフトウェア関連