縦に広いステージの場合、
floortension = 110ぐらいに設定することで
1段目ジャンプ(普通のジャンプ)ではスクロールしないこと
になり、この110を超えるジャンプ(ハイジャンプ、2段ジャンプとか)
でスクロールするようになります。
これをやっておかないと、やたらとジャンプで画面が上下してしまって
めまいを起こしそうになります・・・(@_☆)。
また、カメラ追い速度をverticalfollowを 0.8〜1.2ぐらいに
すれば、キャラクターの動きにカメラが追いつかない
(スクロールが追いつかない)ってことはなくなります。
**
この、deltaとかtensionとかの、スクロールに関する項目は、実際にそのステージでPlayした時のプレーヤーの視覚に関わる、重要な項目です。
まぁ作り手の腕の見せ所っていったところでしょう。
「試行錯誤」いろいろお試しください。
ではでは〜
[Camera]
startx=0
starty=0
boundleft=-160
boundright=160
boundhigh=-100
boundlow=0
verticalfollow=1
floortension=50
tension=60
まず、この場所
"tension"は、プレーヤーが画面端から、
どれぐらいの距離になったら画面がスクロールするか決める項目です。
手前の地面と、仏像のところはdelta=1です。(プレーヤーのスクロールと同じ)
左奥に見えている、桜の木?の見えているレイヤーのスクロールは、遅れます。
両方のわかりやすいところに、ピンクの線でしるしをつけました。
少し、左にスクロールさせて、画面をキャプチャーします。
これも同様にしるしをつけます。(今度は、緑の線でしるしをつけました)
まず、こういった画像をキャプチャーしてみます。
左のように、記述した背景は、delta = 1,1です。
x, y 方向ともにdeltaが1に設定してあります。
これは、プレーヤーが動いて、画面がスクロールする時
プレーヤーの移動に対しての背景のスクロールスピードの設定を
同速にしてあるということになります。
つまり、プレーヤーの移動を1としたら、
背景は1×1=1のスクロールスピードとういこです。
(通常1の設定はプレーヤーの足場に使われます)
それじゃ、Y方向は?、それは floortensionの項目を設定していくことになります。
同様に、Y方向もおんなじ感じで調べられます。
実際、こんな調べ方はしないかもしれませんが・・・・。まぁ目安として・・。
ここでは、スクロールに関する設定項目である、 "delta" について
解説(おさらい)しようと思います。
普通のステージでboundhigh=-30なんてステージの時は
floortension= 0〜60 ぐらいで
(普通のジャンプで、上スクロールする)
verticalfollow=0.2〜0.5ぐらいでいいでしょう。
(カメラ追い速度を半分の速度にすることで、
上下スクロールが目にやさしく?なります)
まぁ、上記を踏まえていろいろお試しください。
floortensionの数値はキャラクターの足場からの距離です。
キャラの下場がこの数値を超えたところから、Y方向にスクロールします。
verticalfollowの数値は、Y方向のカメラ追いかけ(スクロール)速度です。
つまり floortensionが50だとして、それをプレーヤーがジャンプして超えた時
verticalfollow=1の時、カメラもキャラクターと、同じ速度で追いかけます(スクロールします)。
この時verticalfollow=0.5だったら、キャラクターのジャンプ速度の50%の速度でしか
カメラが追いかけない(スクロールしない)というこになります。
プレーヤーの中心移動軸が、
tension=60 のラインを超えた時点で横スクロールが
開始されます。
tension=60は画面端からずっとかかっていますので
それを超えた部分は常にスクロールすることになります。
あと、
キャラクターの大きさを考えますと、約tension=30以下は
ほぼ無意味となり、横スクロールできないことになります。
やはり、デフォルトは 50〜60 ってことになります。
[Camera]
startx=0
starty=0
boundleft=-160
boundright=160
boundhigh=0
boundlow=0
verticalfollow=.05
floortension=0
tension=60
あと、せっかく表題が「スクロールについて」なのでこの項目についても少しふれておきます。
しるしした、ピンクの線と緑の線の間を測ってみると
delta=1の足場の部分が102ピクセル移動した時に、奥の桜の木のレイヤーは50ピクセル移動しています。
と、いうことは奥の桜の木のレイヤーのdeltaは、 50÷102=0.49
delta=0.49 ということになります。
差がわかりやすいように、「
GIMP」で レイヤー構造にして二枚目の画像を透過してみました。
エミュなどの実PLAY画像からのdelta算出方法
上記画像は設定例です。(とりあえず、X方向のみ解説します)
足場である レイヤー1は delta= 1
ちょっと奥の村と山の レイヤー2は delta = 0.8
さらに奥の山レイヤー3は ,delta= 0.6
もっと奥の山レイヤー4は delta = 0.3
空の背景レイヤー5は delta = 0.1
みたいな感じで設定していきます。
(*** ソース元のSS6のステージのdeltaとは関係がありません、ここではテキトーに書いてあります)
例えば、deltaが0.8なら
プレーヤーが100動いて画面がスクロールした時、背景は
100×0.8= 80しかスクロールしないことになります。
こういった遅れてスクロールさせるのは、遠景を表現するためです。
上手く設定してやると、奥行きがでてきます。
(電車に乗って、見た風景が自分に近いところよりも、遠くの方がゆっくり流れてみえるのと同じですね)
[BG 1-1]
type = normal
spriteno = 1, 1
layerno = 0
start = 0,0
delta = 1,1
trans = none
mask = 1