忍者ブログ

幻日記

お絵描き&ゲーム制作好きの ひとりごと日記

AS3横スクロールアクションゲーム制作13.5(メモ)

現在製作中のゲームの敵の動作についてのお話です(・ω・人)
自分用のメモのようなモノなので内容がちょっと意味不明かもしれません。

現在敵は左右へ動くだけですが、主人公が近づくと攻撃を行うように設定しようと思います。
「距離が近くても壁を挟んでいる状態であれば攻撃を行わない」という設定も加えられたら
ベストなのですが、処理が重くなると思うので単に距離が近いと攻撃モーションに入るように
したいと考えております(・ω・`)



敵の攻撃モーションにまつわるコード:
01.png
①「攻撃準備判定」を作る。同時に専用の配列も用意する

②敵を作成時に「攻撃準備判定」も同時にaddChildする

③「攻撃準備判定」は常に敵と重なる状態にx位置、y位置を調整する

④主人公と「攻撃準備判定」が重なるとdelayをデクリメントする

⑤delayが0になると敵が攻撃モーションに入る

⑥攻撃モーションが終了すると、delayを増加させる

⑦敵が死亡した場合、同時に「攻撃準備判定」をremoveChildする

更に欲を言うとこんなシステムも欲しいなーとか考えてます。

敵が主人公を発見して戦闘態勢に入るコード:
68965f97.png
①「発見判定」を作る。同時に専用の配列も用意する
②一定間隔で「発見判定」を、敵本体から発射させる
③「発見判定」は、一定時間飛び続けると途中で消滅する
(↑視野が広い敵ほど、消えるまでの時間が長い)
④「発見判定」はブロック(壁)を貫通することは出来ない
⑤「発見判定」が主人公に接触した場合、敵は戦闘態勢に入る


これらを組み合わせると
6e04f3a5.png
①敵が主人公を発見する
②敵が戦闘態勢に入る
③主人公が敵に近づくと攻撃を行う
④主人公が隠れるor逃げると戦闘態勢を解除する
のような感じに出来るのですが、
これまた処理が重くなりそうなので考えどころです(´・ε・`)
それほど処理の重さが変らないのであれば実装しますが、現在は
「敵が主人公を発見すると戦闘態勢に入る」というシステムは実装しない予定です。

拍手