2018 ソフトウェア設計及び演習用の班Wiki

18::gr12::MAPモジュール

shin_map_ver2.js

担当:千葉大輝

マップ表示

概要
スクロールに対応したマップの構築・表示を行う関数郡
マップの座標位置を利用したゲームの進行管理
詳細
  • PCを常にマップの中心に置き、その周囲を一定範囲に渡り描画
  • マップを動かすことによりPCの移動を表現
  • 広範囲のマップデータと表示用のマップデータを用意し、入力に合わせて表示用のマップデータをその都度更新
  • 当たり判定を用いて、PCの行動範囲の管理
  • マップの座標と鍵のの所持/未所持を判定し、マップの切り替え(次のマップの読み込みと表示用データの更新・敵の生成)を行う
  • 宝箱のマップチップの座標と主人公の座標が重なった時に、宝箱イラストの変更・アイテム取得のエフェクト(イラスト/サウンド)表示・メニューへの情報渡しを行う
  • リスタート機能の実装
具体的な関数
  • make_map_c()
    • 表示する範囲のマップデータを元のマップから読み取り、表示用マップデータ(var map_b)へと格納する。
    • 直接データ用の変数を操作するため、引数・戻り値はなし。
  • new_map_display(id)
    • 引数(id)から表示に必要な変数のデータを設定する。
    • mapオブジェクトを作成し、PCが初期位置にいるマップを表示する。
    • 当たり判定とマップの移動(PCの移動)を表示データに反映するための関数をイベントリスナへと登録する。
  • 利用するデータ
    • 連想配列を用いてそれぞれのマップに関する情報を格納
    • "mx":初期位置のx座標
      "my":初期位置のy座標
      "image":画像データの名前
      "mapdata_i":マップの画像配列用のデータ
      "mapdata_a":マップの当たり判定用のデータ
  • 注意!
    • 表示するマップタイル(マップの座標)が縦横どちらも偶数個であり、中心の座標は存在しない。そのため、中心4つのマップタイルのうち左上のタイルを中心として扱う
イベントリスナへの登録
  • 主人公の移動(マップの移動)を行うために方向キーの読み取り
  • 宝箱管理のためのif文等

前へ戻る


最終更新日:2018/08/03 12:48:45