JDSPSPステージ作成解説
●Stage.txtの説明
・それぞれ半角英数字で#~START#、#~END#で上下の行を挟み、 ,で終わる事
例)
#FIELDTYPESTART#
, 0, 1, 1, 0,
#FIELDTYPEEND#
・オブジェクト等を複数設置する場合等、基本的には左側の数字から小さい順に並べる事

・txt内の説明
#COUNTRYNAMESTART# …ステージ名(格闘場の「すてーじ」&勝ち抜き果し合いの左側に表示される)
全角で最大8文字まで
#INTRODUCESTART# …ステージの説明(勝ち抜き果し合いの右側に表示される文章)
#FIELDTYPESTART# …ステージのタイプを設定。左から順番に
・配置武器の種類 0…人工物(戸板、桶、大八車)1…自然系(切り株、岩、石ころ)
・文字や体力バーの色
0…文字:白 体力&気力:白 5…文字:薄い茶 体力&気力:緑
1…文字:白 体力&気力:青 6…文字:紺 体力&気力:紺
2…文字:白 体力&気力:ラムネ色 7…文字:水 体力&気力:水
3…文字:白 体力&気力:薄いオレンジ 8…文字:濃い灰 体力&気力:濃い灰
4…文字:白 体力&気力:灰 9…文字:緑 体力&気力:緑
・トークイベント発生 0…無し 1…有り
・歩行女の出現 0…無し 1…有り
#OUTSIDELEFTSTART# …ステージ画面外の範囲を設定(2か8が多い)
#ANITYPESTART# …ステージ全体の背景を動かす設定(object move ではフォロー出来ない場合等に)
-の数値が大きいほど早く動く。(-3が水流やベルトコンベアを動かすのに妥当)
・ステージの横軸(x軸)表示数はドットの横幅÷8+(outside left startの数×2)-1 を16進法表記したもの ※1引くのは00から数える為
#HEIGHTSTART# …ステージ内の高さを設定(-8で水深ひざ上、-10で水深胸元、-18で水深目の下、-20で水深頭上と同じ深さになる)
※縦軸(y軸)の一番上と下の列は必ず1FFに設定する事
#SROPESTART# …ステージ内の傾斜を設定(傾斜の数字は10進法で表記しています) 00…傾斜無し
01…左から右へ1ずつの傾斜 06…右から左へ1ずつの傾斜 0B…手前から奥へ1ずつの傾斜 0F…奥から手前へ1ずつの傾斜
02…左から右へ2ずつの傾斜 07…右から左へ2ずつの傾斜 0C…手前から奥へ2ずつの傾斜 10…奥から手前へ2ずつの傾斜
03…左から右へ4ずつの傾斜 08…右から左へ4ずつの傾斜 0D…手前から奥へ4ずつの傾斜
04…左から右へ8ずつの傾斜 09…右から左へ8ずつの傾斜 0E…手前から奥へ8ずつの傾斜
05…左から右へ16ずつの傾斜 0A…右から左へ16ずつの傾斜
#FLOORSTART# …ステージ内の床のタイプを設定 00…普通の床
01…水(水深ひざ上で水流無し)05…水(水深ひざ上で水流右へ)09…水(水深ひざ上で水流左へ)0D…水(水深ひざ上で水流下へ)11…水(水深ひざ上で水流上へ)
02…水(水深胸元で水流無し) 06…水(水深胸元で水流右へ) 0A…水(水深胸元で水流左へ) 0E…水(水深胸元で水流下へ) 12…水(水深胸元で水流上へ)
03…水(水深目の下で水流無し)07…水(水深目の下で水流右へ)0B…水(水深目の下で水流左へ)0F…水(水深目の下で水流下へ)13…水(水深目の下で水流上へ)
04…水(水深頭上で水流無し) 08…水(水深頭上で水流右へ) 0C…水(水深頭上で水流左へ) 10…水(水深頭上で水流下へ) 14…水(水深頭上で水流上へ)
18…砂地 15…荒地 16…溶岩 17…氷 19…クッション(ぶつかっても反発する) 1B…電撃 1A…針(吹っ飛び大) 1C…針(吹っ飛び小)
1D…ベルトコンベア(右へ移動)1E…ベルトコンベア(左へ移動)1F…ベルトコンベア(下へ移動)20…ベルトコンベア(上へ移動)
21…針(格闘ステージ7の時限床のように手前に吹っ飛ぶタイプ)
#TIMESTART# …動きのあるオブジェクトの時間周期を設定、左から1ループするまでの時間、?、ループするか否か?
/ngth/start/loop
#AIROBJECTCOORDINATESTART# …ステージの立体地形の設置ポイントを決める(左からx,y,z軸)
#AIROBJECTHEIGHTSTART# …ステージの立体地形の高さ設定
(複数ある場合は #airobject coordinate start#の上から順番に設定する)
#AIROBJECTSLOPESTART# …ステージの立体地形の傾斜を設定
(複数ある場合は #airobject coordinate start#の上から順番に設定する)
#AIROBJECTFLOORSTART# …ステージの立体地形の床のタイプを設定
(複数ある場合は #airobject coordinate start#の上から順番に設定する)
#OBJECTDATASTART# …オブジェクトのグラフィックを設定
/G-x/G-y/G-width/G-height/type/
・左からオブジェクトグラフィックのx座標値、y座標値(こちらはドット単位)、横幅、縦幅、タイプ
S-x/S-y/S-z/
設置するx値、y値、z値(こちらはfloor start 等と同じ単位)
S-width/S-depth/S-height/(set)
設置したものの横幅、縦幅、厚み(こちらはfloor start 等と同じ単位。)
・typeの数字は 0…マップのオブジェクト等に使用する場合
1…床として使う場合(例:ながとの立体床等)
2…背景として使用すると画面に合わせてスライドする(例:えぞやこうずけの背景など)
4…アニメーションするオブジェクト?
(オブジェグラフィックのx座標、y座標から横幅&縦幅分、真横に等間隔で設置すると動く?)
・/setはフィールドの絵が動く際にオブジェを動かすタイミングを設定する?
#MOVEGRAPHICSTART# …動きのあるオブジェクトのグラフィックを設定
/Gx/Gy/Gwidth/Gheight/x/y/z
・左からオブジェクトグラフィックのx座標値、y座標値、横幅、縦幅(これらはドット単位)
オブジェクトグラフィックそのものの横幅、縦幅、高さ(こちらはマップ単位)
#MOVEOBJECTSTART# …動きのあるオブジェクトの設定
/type/graphic/x/y/z/width/depth/height
・左から設置するオブジェクトの特性、グラフィック、設置するx座標、y座標、z座標、横幅、縦幅、高さ(ポイント指定は■でいうと左下の角から)
・graphicの数値はmove graphic start で設定した物の上から順に0,1,2…を指している
・typeの数字は 0…動かないオブジェクト(object startと同じ役割)
1…アニメーションするオブジェクト
2…地雷
3…斜めに飛び出す砲台、graphicに-1で入る範囲を設定、発射する方向(0=右へ、1=左へ)x,y,z,を付けて発射するポイントを設定する
4…水平に飛び出す砲台、graphicに-1で入る範囲を設定、発射する方向(0=右へ、1=左へ)x,y,z,を付けて発射するポイントを設定する
(2つ以上発射ポイントを設置しないとうまくいかないかも?)
#MOVESTART# …動きのあるオブジェクトの動きを設定(各行の最初に必ず, 0,を入れる事)左から順に
/time/passage/object/action/
/time… 時間設定
/passage… move object startでの範囲を指定(move object startで指定した物の上から順に0,1,2…を指す)
-1で設定無し?
/object… オブジェクトのタイプを設定
1…床(objectdata startのtype1と同じ?)
4…時限床(10進法で設定する)左から順にx,y,width,depth,height,床の有無、床の性質を設定(floor startと同じだが、こちらは10進法で)
/action… 動きを設定。(背景等をアニメーションさせたい場合はpassage&objectを一致させ動かす順に ※move graphic startで指定した数値 を設定する)※上から順に0,1,2…
設置したオブジェのグラフィックを消したい場合は-1を設定
#WEAPONTYPESTART# …設置する武器のタイプを設定?
#WEAPONPOINTSTART# …設置する武器の位置を設定 左からx軸、y軸、z軸
#FOLLOWERARESTART# …敵が武器を取りに行く際、画面外へ行く範囲を設定
/x/y/z/width/depth(x軸、y軸、z軸、広さ、深さを指定)
・最初と最後は画面外に行ける場合はout side left startの範囲に設定する?
#DELETEAREASTART# …落とし穴の範囲を設定
/x/y/z/width/depth/height/
x軸、y軸、y軸(落ちた穴の深さ)、横幅、縦幅、深さ(落とし穴の設置する高さ。heightで設定した値にする事)
#WARPSTART# …ステージ内でワープする場所&ワープした先の場所を設定
(x,y,z,でポイント設置、Sx,Sy,Sz,で移動先を指定) widthは横幅、depthは縦幅、heightは高さの範囲
・wallは壁の有無
0…指定のエリアに入るとワープする 2…床との段差に触れるとワープする?
(壁に設定する場合はxとdepthの数字が一致している事?)
#DUELSTANDPOINTSTART# …勝ち抜き果し合いでのキャラ開始位置を設定
・1~8Pのx,y,z軸を設定する事
●ステージの画像について
・縦幅は160ドット(格闘伝説サイズだと下四人の体力&気力表示にかぶる)
・横幅は320ドット以上で8の倍数、(最大で1024ドット?)
・保存する時は256色のビットマップ形式で保存する事
・x値1つでedgeのマス目半分(16×16設定)、y値1つで2ドット分
・Object.bmpで透明にしたい時は r0 b200 g200の色で塗る
・Object.bmpは object start&move object startで共用できる。

●その他
・高低差の概念は熱っ血格闘伝説とは違い、00を基準として高くする場合は数字を10,20,30…と増やし、逆に低くする場合は-10,-20,-30…とマイナスに設定する
例)熱っ血の場合 時代劇リメイクの場合

・field typeで設定する文字&体力バーの色はGraphicsフォルダ内のsystem.bmpに対応していそう
(一番左はたぶんセレクトを押した時の色)
・edgeだとグリッド編集で8×16も用意しておくとStage.txtを作成する際に助かる
・txtデータなのでドラッグでCTRL+Cのコピー、CTRL+Vのペースト、CTRL+Dのデリートを活用すると多少楽に作成できる
・バックアップはマメに
●16進法とは?
・プログラムで良く使われる16ごとに1ケタ繰り上がる数の数え方。ちなみに普段、生活使われているのは10ごとに1ケタ繰り上がる10進法
10進法だと
00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17……と表記するが
16進法だと
00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11……と表記される。
●10進法を16進法に変換するには?
・1、まず10進法の数値を16で割る。その際、割り切れるまで割るのではなく整数のあまりが出るまでに留める
2、16で割った商がまだ16で割れる場合はもう一度16で割る。その際、割り切れるまで割るのではなく整数のあまりが出るまでに留める
3、16で割り切れなくなった商を一番大きい桁として、割った回数の多いあまりから次の桁に当てはめて行く
例)4689(10)を16進法表記する
4689÷16= 293,,,1 商がまだ16で割れるのでもう一度割る。
293÷16= 12,,,1 12は16進法表記でC(0C)なので4689を16進法表記にすると C11(16) となる。
- 最終更新:2010-12-28 20:52:20