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