な〜んとなくおわかりいただけたでしょうか?
上下左右が対象の背景はそのままで登録してミラーリングさせたほうがいいですし、歩く人などの位置の変化するスプライトは
中心座標で登録しておいたほうが後々扱いやすいような気がしますね。
上手くつかえば、容量の圧縮に最適ですね。
試行錯誤頑張ってみてください、ではでは〜
表示位置をここで左枠外になるよう調整
前回同様アニメを登録する。
この場合だと位置がずれないので"PosSetは不要。
[BG 1]
type= anim
actionno =7
start = -735, 0
delta = 2,2
mask = 1
id= 6
[Begin action 7]
3 ,1, 0,0, 6
3 ,2, 0,0, 6
3 ,3, 0,0, 6
3 ,4, 0,0, 6
3 ,5, 0,0, 6
[Begin action 8]
3 ,1, 0,0, 6,h
3 ,2, 0,0, 6,h
3 ,3, 0,0, 6,h
3 ,4, 0,0, 6,h
3 ,5, 0,0, 6,h
[BgCtrlDef 1]
looptime = 960
CtrlID = 6
[BGCtrl 1]
type = Anim
time = 0
value = 7
[BGCtrl 1]
type = VelSet
time = 0
x = 3
[BGCtrl 1]
type = Anim
time = 480
value = 8
[BGCtrl 1]
type = VelSet
time = 480
x = -3
さて、この記述では Possetを使い位置をリセットしましたが、それは登録位置が左枠外だったからです。(図※1)
では通常も反転も位置に影響のないようにするにはどうすればいいでしょうか?
はい、そのとおり 登録位置を画像の中心を(0, 0)にすればいいです。(画像はX軸のみ中心)
BGCtrl type = Anim のために本来はそのままで表示されないが
[Begin action 6]で反転画像を登録しておく。
速度3で移動すればTime=480で一方向進めるので looptime = 960 となる。
time=0の時に位置をリセットしたいので X=0にする。
time=0の時は [Begin action 5]のほうを使いたいので 5に設定
time=0 から右に3の速さで移動
time=480 (右枠外に移動後)Ainmを[Begin action 6] に切り替え
速さ3で左に移動
反転画像[Begin action 6]も右に移動しているので
Time=480の時に位置をリセットする。(初期反転位置図※1参照)
[BG 1]
type= anim
actionno =5
start = 0,0
delta = 2,2
mask = 1
ID = 5
[Begin action 5]
2 ,1, 0,0, 6
2 ,2, 0,0, 6
2 ,3, 0,0, 6
2 ,4, 0,0, 6
2 ,5, 0,0, 6
[Begin action 6]
2 ,1, 0,0, 6,h
2 ,2, 0,0, 6,h
2 ,3, 0,0, 6,h
2 ,4, 0,0, 6,h
2 ,5, 0,0, 6,h
[BgCtrlDef 1]
looptime = 960
CtrlID = 5
[BGCtrl 1]
type = posSet
time = 0
x = 0
[BGCtrl 1]
type = Anim
time = 0
value = 5
[BGCtrl 1]
type = VelSet
time = 0
x = 3
[BGCtrl 1]
type = Anim
time = 480
value = 6
[BGCtrl 1]
type = VelSet
time = 480
x = -3
[BGCtrl 1]
type = posSet
time = 480
x = 0
[BG 1]
type= anim
actionno =5
start = 0,0
delta = 2,2
mask = 1
ID = 5
[Begin action 5]
2 ,1, 0,0, 6
2 ,2, 0,0, 6
2 ,3, 0,0, 6
2 ,4, 0,0, 6
2 ,5, 0,0, 6
※3
次は実際に、左から右に歩くように作ってみます。
まずは図※1のように左画像外に人の歩くアニメを登録します。
反転効果および、BGctrl Anim の使い方などについて
"BGCtrl"を使い左から右まで移動し、反転してまた元に移動する記述を書いてみます。
※1
DEF書きかたのところでもありましたが、アニメ登録のスプライトのところに ,H とか,Vとか付けると画像が反転して表示されます。
※2
[BG 1]
type= anim
actionno =5
start = 0,0
delta = 2,2
mask = 1
[Begin action 5]
9,3, 0,0, 7,V ;画像の上下反転
9,4, 0,0, 7,H ;画像の左右反転
ここで、注意して欲しいのが、反転する軸は中心位置(0 ,0)である。ということです。
下図参照