!!!enemyAI.js 担当:千葉 大輔 !!Monsterクラス !< メソッド >((br)) *'''setStatus(id,posX,posY)'''((br)) **敵生成時に敵の種類に応じたステータスの設定、また、イベントリスナーの登録も行う。 **イベントリスナーでは、無敵時間の点滅処理、攻撃タイプ(接近or遠距離)に応じたプレイヤー接近時の行動選択、攻撃のエフェクト処理、遠距離の敵の攻撃範囲条件の決定、ダメージの可視化、敵消滅時の処理、画面外でのフリーズ処理、スキル発動、ボスのHPに応じた行動選択、壁の当たり判定の設定を行う。 *'''moveNormal()'''((br)) **主人公未発見時の自由移動状態の行動。ランダムで上下左右に少しだけ移動する。 *'''moveWithPlayer(status)'''((br)) **主人公を常に中心に置くシステムのため主人公の移動(キー入力)に応じて反対方向へと一定距離移動させる処理。 *'''moveToPlayer(player)'''((br)) **接近攻撃タイプの敵が主人公発見状態のときに主人公に向かって最短距離で急接近してくる行動の処理。 *'''escapeFromPlayer(player)'''((br)) **遠距離攻撃タイプの敵が主人公発見状態のときに主人公からなるべく遠ざかるように逃避行動を行う処理。 *'''attackToPlayer(nummap)'''((br)) **接近攻撃タイプが主人公との距離がとても近くなった時に攻撃行動を行う処理。 *'''shootAttack(nummap,player)'''((br)) **遠距離攻撃タイプの敵の攻撃範囲内に主人公がいる状態の時に球を発射して攻撃をしようとする処理。(攻撃範囲は敵によって異なる) *'''useSkill(skillnum)'''((br)) **敵に設定されたスキルの具体的な行動内容について記したメソッド。イベントリスナーに登録された部分から敵に応じてここからスキルが呼び出される。 *'''decreaseHP(player)'''((br)) **敵が主人公から攻撃を受けた時に主人公の攻撃力に応じてHPを減少させる処理。以前まではノックバックの処理も行っていたが、壁の当たり判定の問題により現在は廃止。 *'''displayDamage(nummap,damage,comp,hugou)'''((br)) **敵が主人公から攻撃を受けた際に受けたダメージを可視化するためのメソッド。ここでは属性相性に応じて(相性が良ければ赤、悪ければ青、普通なら黒)表示ダメージの色を変えている。(なお回復スキルのダメージ表示は緑色) !!関数