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