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

20::gr06::マップ表示・管理モジュール

マップ表示・管理モジュール(担当:鈴木)

class MapRaw

マップクラス継承
enchant.jsのMAPクラスを使って、配列からMAPを表示するクラス.

constructor(enchant.core, タイル幅,タイルの高さ)
タイル幅,高さを1タイルとして,配列分のマップを作成する.
配列は他toolにて作成し,loadDataの引数にする.

class DisplayMap

Groupクラスを継承
mapRawクラスで生成した純粋なマップに画像等を追加するクラス.
MapRawを生成,Spriteを配置 Groupに追加することで,SpriteとMap全体を一つで動かせるようにする.Sprite配列により複数の画像を管理する.

constructor(enchant.core)
mapRawのインスタンス化,setMapSpritにより画像をGroupに追加する.
setMapSprite(パス,スケール,x座標, y座標)
マップに画像を追加する.Spriteを宣言し,sprite配列に追加する.
spriteReload()
新しくsprite配列に画像が追加された時のリロードをする処理

class PlayerDisplay

Spriteクラス継承
プレイヤーを画面上に表示させるクラス.プレイヤー移動の処理も含む.

constructor(enchant.core, 画像Path, マスの名前)
spriteの高さやimageの指定,現在位置の設定,サイコロで動く用のパラメータの宣言等.
moveToPosition(moveToCellName, direction, scene, group, message, gachiken, step_remain)
指定地点まで移動する. 移動するプレイヤー以外のプレイヤーとマップをグループクラスに格納し、 プレイヤーではなく背景を含んだグループクラスを移動させ、プレイヤーの移動を実現させる。
移動後は,現在位置の更新を行う.
CTRLdice_stack(cellName, scene, message, gachiken, step_remain, space_train)
さいころのstack操作メソッド.dice_stackの要素数が動ける回数とする.移動したらstackにマス情報を追加,stack数が増えるので,動ける回数を減らす.同じところに戻った場合,そのマスがstackにあるかどうかを確認し,あれば消すことで移動数を増加させる.
diceが0になったらeventモジュールを呼び出し,そのプレイヤーの行動を終了し,次にプレイヤーのターンにする.
moveLeft,Right, UP,Down(cellName, group, gachiken)
プレイヤーを移動させるメソッド群
次に動くマスとプレイヤーとの距離を調べ,背景(マップ)を逆に動かす.


最終更新日:2020/08/06 02:38:38