widthを使った場合SFF登録X座標位置が いくつでも
DEFのX座標を0にした場合、左のようになります。


SFF登録、DEF記述の注意するべき点 として,この yscalestart   yscaledeltaを使う時に、

SFF登録時は床の場合Yの座標は0にすることです。

画像の基準点(床の角度の変わる始点)が、登録時にY座標が0のところのラインが基準になります。


天井でしたら、その画像の下のラインY座標0で、登録しなければいけません。

そして、DEF記述の際に、画像Y座標位置をあわせるといいです。

yscalestart 切り替え
実PLAY画像 yscalestart使用
そして、yscaledeltaが、そのスケールの変化係数です。

yscalestart = 100    yscaledelta=1.2の時
Yのカメラ(縦のカメラ)が1上がれば101.2% となって、もうひとつ上がれば、102.4% となります。

ジャンプすると、3D的に上からのぞく感じ(床が縦に伸びた感じ)になります。

逆に、天井にparallaxを使い、この yscaledeltaも使うのであれば、その値はマイナスで書くといいでしょう。
(ジャンプすると、縮む感じになる)
垂直の尺度、が変わっているのがわかると思います。

基本的に、この値は100でいいと思います。
yscalestartを、それぞれ90 100 110 と切り替えた 画像がこれです。
yscalestartは、英語の原文を直訳しますと、

カメラのy-位置が地表面にあるとき始めの垂直の大きさを表す割合。


と、あります。

これは、パーセンテージで表記されているものと思われます。

100%がデフォルト位置ですね。

[BG 1-2];;;地面
type = parallax
spriteno = 1, 2
layerno = 0
start = 0, 140
delta = 0.8, 0.7
mask = 1
xscale = 1,1.75
width= 640,1120

yscalestart = 100
yscaledelta = 1.2
そして、次は Y(縦)方向のパラメーター yscalestart  yscaledeltaについての解説です。
SFF_320  DEF_0
合わしてみたところ
[BG 1-1];;;背景
type = normal
spriteno = 1, 0
layerno = 0
start = 0,0
delta = 0.8, 1
trans = none
mask = 1

[BG 1-2];;;地面
type = parallax
spriteno = 1, 2
layerno = 0
start = 0, 0
delta = 0.8, 1
mask = 1
xscale = 1, 1.75
width= 640, 1120



[BG 1-1];;;rogo
type = parallax
spriteno = 1, 1
layerno = 0
start = 0, 0
delta = 0.8, 1
mask = 1

xscale = 1, 1.75
width=
640, 1120
widthパラメーターは画像の 表示サイズのパラメーターです。

元画像が640*100なので、上部の表示サイズを640にし、

下部をその1.75倍の1120にしてみました。

もちろんdelta=1 のところが等倍幅に表示したければ、
上部は0.8×640=512  下部は0.8×1.75=1.4  640×1.4=896

width= 512, 896で書くといいですね。
(これだと、背景がはみだしちゃいますが・・。)
parallaxについて
そして、この画像が右にスクロールさせたものです。

つまり、
初期画面の中心の点(SFFのX座標0の点)が Xscaleの 原点になります。

通常ならば、(遠近変形させた)その画像の中心をSFFのX座標0の点にして

登録すればいいということになります。

もちろん、応用すれば、例えば
右だけに遠近感だしたりすることも可能ですね。

画像の床の部分、(640*100)の画像をSFF登録時に、
Xの座標を320で登録し、DEFはX座標0のものです。


当たり前ですがこうなります。

注意点
この、Parallax がうまく使いこなせたら、きっといいステージができるでしょうね。

試行錯誤 がんばってみてください。きっと上手くいくと思います。

ではでは〜
天井
KFM ステージ 天井
なんだこりゃ?そりゃそうなりますよね

天井に使うとよさそうです。

[BG 1-1];;;背景
type = normal
spriteno = 1, 0
layerno = 0
start = 0,0
delta = 1, 1
trans = none
mask = 1

[BG 1-2];;;地面
type = parallax
spriteno = 1, 2
layerno = 0
start = 0, 0
delta = 1 , 1
mask = 1
xscale = 9, -1
ちなみに、こうかけば・・。
では、こんなロゴ文字を追加してみましょう。(ピンクは背景色です)  320*100


おっ!いい感じに奥行きでてきましたねぇ!!
[BG 1-2];;;地面
type = parallax
spriteno = 1, 2
layerno = 0
start = 0, 0
delta = 0.8, 1
mask = 1

xscale = 1, 1.75
width= 640, 1120
実PLAY画像 2
実PLAY画像 1




parallaxのパラメーターである、xscale

xscale= 画像の上部のdelta ,  下部のdelta の倍率なります。

つまり、spriteno = 1, 2の画像のx方向delta = 0.8ですので、

parallax効果をかけた画像の上部のdelta0.8×1=0.8


下部のdeltaは 0.8×1.75 =1.4になります。

もちろんこの2点間のdeltaは自然に段階的に処理されます。
[BG 1-1];;;背景
type = normal
spriteno = 1, 0
layerno = 0
start = 0,0
delta = 0.8, 1
trans = none
mask = 1


[BG 1-2];;;地面
type =
parallax
spriteno = 1, 2
layerno = 0
start = 0, 0
delta = 0.8, 1
mask = 1

xscale = 1, 1.75

レイヤー 1,0 背景  (640*480)
数値は適当ですが、こちらも上下逆にしてみます。



地面と比率をあわせるため、
320/2=160  160×1.75=280
で、画像幅を設定
おっ!うまく画面いっぱいに引き伸ばされましたね。

ここでは、背景の表現方法のひとつである、「parallax」について

解説しようと思います。

xscaleを使う時、SFF登録時に注意点があります。(widthを使っていない場合

下記画像例は、delta = 0.8,  xscale = 1, 1.75  のものです。(遠近変形させてないもので比較してます)
もし、DEFのX座標を-320にしたら、左のようになります。


widthをつかった場合、SFFの登録位置に関係なく

DEFでそのX座標位置を決めていくのが可能ですね。

では、SFFをX座標0で登録し、DEFでX座標-320にしたらどうでしょうか?

静止画なら同じ位置に表示されるはずですが・・。


左の画像のようになってしまいます。

真ん中の緑のラインはあってますから、deltaがずれた状態にあります。

SFF_0  DEF_0
この画像はSFFのX座標が0,でDEFのX座標も0にしたものです。

その他、注意点としまして、透過処理(trans)の項目は常にnone 無効です。(記述不要

mask処理は同じように可能です。mask= 1

tile(タイル)に関しては、width パラメーターを使用したものに関してはうまくタイル処理できました。
ただし、tile=0   tile=1   のみ、(指定数タイルはできない)です。
Parallax Tile
width使用  DEF_ -320
width 使用
SFF_0  DEF_0  右スクロール
SFF_0  DEF_ -320
KFMステージの場合 床画像を、1:1.75 で作っているので、width は不要になります
KFM ステージ 床 比率
;--KFMステージ内 床 例



[BG Floor]
type = parallax
spriteno = 10,0
start = 0, 181
delta = .78, .75
xscale =
1, 1.75
yscalestart = 100
yscaledelta = 1.2
KFM ステージ 床
ちなみに、KFMステージで、parallaxに使われています。↓のような画像をですと、widthパラメーターは不要ですね。

[BG 1-2];;;地面
type = parallax
spriteno = 1, 2
layerno = 0
start = 0, 0
delta = 1 , 1
mask = 1
xscale = 9, -1

width= 3840, 640
実PLAY画像 7
プレーヤーを中心に、ステージがまわってそう?な

感じになりました・・・・。

めまいを起こしそうです。
実PLAY画像 6
で、つぎはせっかくなので、逆バージョンも少し・・。


こんな感じでどうでしょうか?
ちょっと、xscaleがいいかげん?だったので、キャラと地面のスクロールがずれていたかもしれません。

上記の場合だと、背景(地面上のライン)のdeltaが0.8 なので、キャラのラインをdelta=1のすると、手前(地面下)のラインはdelta=1.05になります。

ということは、xscaleは xscale=1 ,  1.3(1.05÷0.8)で キャラのラインがdelta1のはずですね


**キャラのライン=zoffset=220 画面下がら20ピクセル上がったライン
実PLAY画像 5
実PLAY画像 4
わかりやすく、背景のdeltaを0.2 にしてその比率でキャラのラインがdelta=1になるよう

xscaleを設定したみました。(奥が0.2 だから 1, 手前は1.2 だから、1.2÷0.2=6)




width もわかりやすく そのままの倍率(奥1倍 、手前6倍)
今度は、上手く縮小しました。


実PLAY画像 3
ロゴ
これが、上記のように記述した、画像ですが・・。







左右によった時に、床の幅が足らずに、背景が見えてしまってますよね。


地面
背景
Parallax ステージ 

Parallax_D4ステージ 

まず、この「 parallax」 でステージを作るために、

次のような画像を用意しました。
home
ややこしく、書いてしまったかもしれませんが、(書いててもj混乱します・・。) 

もしわけがわかんなくなったら、X座標はSFF登録時画面の中心にしておいてDEFは0で書けば

通常ならば、問題ないですね。
では、これもwidthを追加してみます。
先ほどとは、xscaleの比率を逆にしました。

上のラインがdelta=9(1×9),下のラインはdelta=-1(1×-1)

になります。

[BG 1-2];;;地面
type = parallax
spriteno = 1, 2
layerno = 0
start = 0, 0

delta =
0.2, 1

mask = 1

xscale =
1, 6

width=
640, 3840


[BG 1-1];;;rogo
type = parallax
spriteno = 1, 1
layerno = 0
start = 0, 0
delta = 0.8, 1
mask = 1

xscale = 1, 1.75
width=
160, 280
ロゴ画像が、地面の画像のdeltaとあうように、xscaleは同じにしました。


同じく、width も引き伸ばされるように width= 640, 1120  こう書きます。
そこで、次はこう書いてみました。
レイヤー 1,2   地面(parallax)(640*100)