!!!モジュール一覧 ((outline)) !!主人公 ''<クラス>'' *'''Player''' ((br)) :導入したい動き *十字キーの入力による主人公の向き変更 移動はマップが担当するため、主人公の座標は固定 *zボタン入力による攻撃(遠距離、近距離) 攻撃力の値は武器から貰う。攻撃エフェクトを発生させ、そのエフェクトを当たり判定にする *敵から攻撃を受けた際の処理 グラフィックを点滅させHPを減らし、一定時間無敵になる * ((br))[[↑モジュール一覧に戻る|#p1]] !!メニュー(UI) ((br))[[↑モジュール一覧に戻る|#p1]] !!敵AI ''< クラス >'' *'''Monster''' ((br))((br)) ''< メソッド >'' *'''setStatus(敵id,X座標,Y座標)''' **生成された敵のステータス設定(初期化) **イベントリスナの登録 ((br))((br)) *'''moveNormal()''' **主人公未発見時の通常移動状態 ((br))((br)) *'''moveToPlayer(プレイヤーオブジェクト)''' **接近攻撃タイプの敵が主人公発見状態時に主人公に急接近してくる ((br))((br)) *'''escapeFromPlayer(プレイヤーオブジェクト)''' **遠距離攻撃タイプの敵が主人公から逃げるように動く ((br))((br)) *'''attackToPlayer(マップ上での識別番号(配列番号))''' **急接近した近接攻撃タイプの敵が攻撃範囲に入ると攻撃を行う ((br))((br)) *'''shootAttack(マップ上での識別番号(配列番号),プレイヤーオブジェクト)''' *'''decreaseHP(プレイヤーオブジェクト)''' **敵が主人公による攻撃を受けた際にHPを減らし、ノックバックさせて少しの間無敵状態にする ((br))((br)) ''< その他関数 >'' *'''makeMonster(マップオブジェクト,マップ上の設定敵数)''' **main内で現在のマップに応じて設定された敵を一斉に作成する ((br))((br)) *'''changeMap()''' **マップ切り替え時に現在表示されてる敵を消去する ((br))((br)) *'''loopMove()''' **100ミリ秒毎にそれぞれの敵の状態に応じて敵の行動を選択する ((br))((br)) ''< 必要データ >'' *'''monster_data''' ''< 他モジュールでの使い方(表記したもののみ使用の必要あり) >'' *'''makeMonste(マップ番号)''' **事前に用意しておいたマップごとの敵配置データを元に指定された番号のマップの敵を生成する。マップ切り替え時に呼び出してもらえれば現在の敵の削除も同時に行う。 **ex) makeMonster(0); *'''(仮)敵オブジェクト.decreaseHP(プレイヤーオブジェクト,対象の敵のマップ上番号)''' **Monsterクラスのメソッドのひとつ。使い方としては『主人公の攻撃を与えたい対象の敵』と引数として当たり判定のための『プレイヤーオブジェクト』と対象の敵のマップ上番号(この値はexist_monstersという配列の番号に値する)を与える。フレーム毎に主人公が攻撃を行った際に攻撃範囲にいる(複数の)敵を対象にしているためforループで回してすべてのマップ上の敵に適用する。 **ex) for(i=0;i