hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
マップのデータフォーマットや、使用するチップの性質などをまとめみましょう。
マップのデータはスクリプト中に直接埋め込む方式ではなく、データを別のファイルに用意する方式を採用します。
ファイル形式:テキスト
ファイル形式は実際に使用する時だけバイナリに変換して使用するという方法も考えられるが、作成中はテキストのほうが作業効率が良い。
チップやステージのデータの保存、読み込みについてです。
読み込みのみ
読み込み・書き込み
基礎フォルダ20060222.lzhで解凍したファイルに上書きして使用してください。
※未決定事項です。案があれば提示してください。
CSV形式(カンマ区切り)
基本案
+ | 案1のフォーマット |
コメント (コメント) ステージ名, ステージ独自のパラメータ, ... (ステージごとの要素) チップid, 画像インデックス, 重力を受けるか, 移動方法, ... (各チップの要素) チップid, 画像インデックス, 重力を受けるか, 移動方法, ... ... チップid, 画像インデックス, 重力を受けるか, 移動方法, ... 0,0,0,0,1 (各チップの初期位置) 0,0,1,0,1 0,0,0,0,1 ... 0,0,0,0,1 |
+ | 案2:チップ情報定義File |
[チップ情報定義ファイル(各チップのパラメータなど)]
コメント (コメント) チップid, 画像インデックス, 重力を受けるか, 移動方法, ... (各チップの要素) チップid, 画像インデックス, 重力を受けるか, 移動方法, ... ... チップid, 画像インデックス, 重力を受けるか, 移動方法, ... |
+ | 案2:ステージ定義File |
[ステージ定義ファイル(チップ配置の定義など)]
コメント (コメント) ステージ名, ステージ独自のパラメータ, ... (ステージごとの要素) pos block (データの区切り) チップid, x座標, y座標 (任意の座標を指定) チップid, x座標, y座標 ... map block (データの区切り) 0,0,0,0,1 (各チップの初期位置) 0,0,1,0,1 0,0,0,0,1 ... 0,0,0,0,1 |
+ | 案3のフォーマット |
コメント (コメント) ステージ名, ステージ独自のパラメータ, ... (ステージごとの要素) X座標, Y座標, パラメータ1, パラメータ2, パラメータ3, ... (チップ1つめ) X座標, Y座標, パラメータ1, パラメータ2, パラメータ3, ... (チップ2つめ) ... |
案2
せっかく案2でモジュール作ったのでもう少し掘り下げてみます。
ステージ定義ファイルのフォーマットは基本的にブロックで分けていくつかの書式を使い分ける構造になっています。
「pos block」とか「map block」ですね。ブロックの終わりは別のブロックの始まりかファイルの終わりです。
ちなみに「pos block」と「map block」の使い分けはというと、結局は内部で同じ書式(xy座標)に変換されて返されるので同じこと。
なので、どっちでも使いやすい方を使ってok。ちゃんとブロックで区切ればまぜて使ってもok。マップだからといってmap blockを使う必要はない。
このブロックについてもうちょっと機能強化したほうがよさそうなので考察を記述。
ブロック名 | 省略形 | 機能説明 |
pos block | POS BK | 一番細かく指定できる書式。 xy座標を直接入力する。 |
map block | MAP BK | 手書き向きの書式。 見た目と同じ配置で記述する。手作業での手軽な変更と確認が出来る。 マップの配置には向くが細かい座標指定が出来ない。 |
comment block | CMT BK | コメント。 コメントの記述が出来る。 |
mapediter block(仮) | 未実装。 マップエディタ向きの書式。 何マス目にあるかで指定する。細かい座標指定が出来ない。保存が容易? タイル上に並べるのはマップエディタ上で管理すべきかな?チップサイズで割れば何マス目に位置するかはわかるし。ということでこの機能は搭載見送り。 | |
stage prm(仮) | 未実装。 ステージ独自のパラメータ。 重力の大きさや摩擦などを指定したり、ステージクリアのボーナス得点を記述するなどが考えられる。文字列も扱えるようにすべきかな? |
さて、どこまで実装できるのか。というかドコまで実装する意味があるのかないのか…。
スクリプトのページにnaznyarkさんが作った物があります。
また、基礎フォルダにもステージエディタがupされています。