Created
May 6, 2014 04:28
-
-
Save RPGP1/d6b69102e24ac6591db9 to your computer and use it in GitHub Desktop.
マップシステム考えた。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Mapは、TileSetを一つ持つ。 | |
自身の持つ二次元配列とTileSetから受け取る画像配列で描画する。 | |
TileSetは、Tileをまとめる。 | |
分割前の画像・分割方法を記憶し、Tileを生成して保持。 | |
Tileから画像を受け取り画像配列を作る。 | |
Tileの一部だけ画像を変更するとそれを記憶しておく。 | |
Tileはそれぞれのtype毎にサブクラスを定義し、生成時に受け取った画像などの情報を適切に処理する。 | |
オートタイルで実際に表示される画像(複数)を保持する。 | |
オートタイル時にどのtypeと境界を作るかなどを判定するメソッドもTileで定義する。 | |
<編集時(配置)>Tileは4層構造になっている。配置されると、その情報をTileSetに渡すと、オートタイル処理をして、各々の層を画像配列でのindexに変換してMapに渡す。 | |
<編集時(コピー)>対象のマス(複数も可)の4層全ての番号をMapからTileSetに渡し、それから各々のTileを割り出す。そのTileの何番目の画像であったかも保持しておく。ただしオートタイル有効なコピーなら強制で0とする。 | |
<編集時(コピー先)>オートタイル無効なら画像配列のindexを計算してそのまま置く。そうでなければ各々オートタイル判定だけして配置する。 | |
<編集時(属性)>Tileには様々な属性が有り、配置時にMapのそのマスにコピーする。今のところは移動制限(手段/方向)のみ採用? | |
<編集時(TileSet)>TileSetは連結のみ可能。#仕様は予告なく変更される場合があります | |
連結しないと逆に面倒(1つのMapに複数TileSet)になるので、恐らく実装せざるを得ない。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment