JDSPSPステージ作成解説

 

●Stage.txtの説明

・それぞれ半角英数字で#~START#、#~END#で上下の行を挟み、 ,で終わる事

例)
#FIELDTYPESTART#
, 0, 1, 1, 0,
#FIELDTYPEEND#

・オブジェクト等を複数設置する場合等、基本的には左側の数字から小さい順に並べる事

stagesakuseikaisetsu4.gif

・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で共用できる。

stagesakuseikaisetsu3.gif

●その他

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

例)熱っ血の場合       時代劇リメイクの場合

stagesakuseikaisetsu2.gif

・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

このWIKIを編集するにはパスワード入力が必要です

認証パスワード