BGCtrl 解説



top                           DEF 書き方                              BGCtrl 効果一覧          
作成例
元ソースは  ここから 

;--------------------使用例--------------------------------



;例題 人のアニメーションが(-300, 0)から(300, 0)に前後に歩かせる。

;

[BG 1]
type= anim
actionno = 1
start = -300, 0
delta = 1
mask = 1

ID =10

[Begin action 1]
10,0, 0,0, 6
10,1, 0,0, 6
10,2, 0,0, 6
10,3, 0,0, 6
10,4, 0,0, 6


[BG 1]
type= anim
actionno = 2
start = -300, 0
delta = 1
mask = 1

ID =11

[Begin action 2]
10,0, 0,0, 6,h
10,1, 0,0, 6,h
10,2, 0,0, 6,h
10,3, 0,0, 6,h
10,4, 0,0, 6,h



;2の速度を人アニメにあたえるとして 横の移動距離が-300〜300で600ピクセル
;(時間が600/2で300であるから)

;全体のlooptimeを600とする。



[BGCtrlDef 10]

;600でリセットされる

looptime = 600

ctrlID = 10,11


;time =0で右に2の速度で移動しはじめる。

[BGCtrl 10]

type = PosSet

time =0                   ;time=0で位置のリセット

x = 0

ctrlID = 10


[BGCtrl 10]

type = VelSet

time = 0

x = 2                      ;右に2の速度で移動

ctrlID = 10


;時間が300になったら左から右に移動する。

[BGCtrl 11]

type = Enable            ;無効有効切り替え

value = 0

time = 0

ctrlID = 11

[BGCtrl 11]

type = Enable            ;無効有効切り替え

value = 1

time = 300                ;timeが300つまり右向きアニメが右端に到着したら有効

ctrlID = 11


[BGCtrl 10]

type = PosSet

time = 300       

x = 600                    ;反転させたアニメを右端に移動

ctrlID = 11


[BGCtrl 11]

type = VelSet

time = 300

x = -2                     ;timeが300つまり右向きアニメが右端に到着したら左に移動

ctrlID = 11



;;時間が600の時点でリセットされループする



;速度指定



;横速度(X方向)

;縦速度(Y方向)     ;省略した場合変化しない。

;この例の場合だとtimeが100になると右に速度10で進む





;加速指定



;加速する値   *(現行+方向に進んでいるとして)マイナスで減速になる









;位置設定   *(x, y)座標を、初期位置を原点にして設定



;この例の場合だとtimeが100になると、画像のポジションが320ピクセル右の位置になる。

ほかのコントローラーと組み合わせてループに使うといい。
;原点は変わらないので,たとえループしても、同じところを移動するだけ。応用例






;座標設定  *;(x, y)座標位置を現位置から指定分加算移動



;この例だとtimeが100になると右方向100にずれたとこに、原点が移動
;もしLooptimeが指定されていたなら、timeが0になっても位置が移動したまま。








アニメ変更   * 指定したアクションナンバーに変更する

;ACTIONNO     *Animの所で指定したNO      
;アニメーションの差し替えのみ行う、時間は止まらない。






;指定した半径と時間で円運動させる。横(X)方向


;半径ピクセル ,  時間フレーム , オフセット値(運動の初期Time位置)






;指定した半径と時間で円運動させる。縦(Y)方向


;オフセットのパラメーターは省略可
type = VelSet

time = 100

x     =  10

y     =  0



;-------------



type = VelAdd

time = 200

x =   -1

y =      0



;-------------



type = PosSet

time = 100

x =  320

y =  0



;-------------



type = PosAdd

time = 100

x =  100

y = 0



;-------------



type = Anim

value =  1



;-------------



type = SinX


value =  10 , 50, 5



;-------------


type = SinY


value = 10 ,50






;なにもしない デバック用に使う






; 0非表示 1 表示    アニメ(時間)は止まらない、表示非表示設定









;無効有効切り替え

;0で無効 1で有効  この場合時間(アニメ)も止まる
;(visibleとの違いは時間が止まるかそうでないかの違い)
;有効、無効両方使うときは、無効から書くとよい(Visibleも同様)



type = null


;---------



type = Visible

value = 0



;----------



type = Enable

value = 1

=========================BGコントローラー種類===========================
;数字は適当 管理上(エラーなど)BGCtrlDefの番号とあわせるのが普通(規制はない)

;ここにはBGコントローラーのタイプが入る

;それらの操作が発動する時間(フレーム)

;この場合時間100フレームから発動(1秒=60F)



;BGCtrlDefで複数IDをしていたときなどはここで個別に指定する事も可能。
[BGCtrl 1]

type = xxxxxx

Time = 100





CtrlID =  1
;******************** 上記記述の後、個々の動きを指定していく********************


;数字は適当でよい

;操作するするIDナンバー([BG]の所で指定したID)  複数指定可能 例 CtrlID=1,2,3,4 

;これらの操作がループするフレーム数  この場合10000Fで0に戻る
;ループする必要の無い時は記述不要

;-------------------------使用例---------------------------------------------

[bgctrldef 12]

CtrlID = 30,31                        ;ID 30と31を指定

[bgctl 0]
type = enable
time = 0
value = 0                              ;最初は無効と書く(まじないみたいなもので書いておくと間違いない)

CtrlID = 30,31

[bgctl 1]
type = enable
time = 0
value = 1                              ;time=0は有効にしたいので有効にする。

CtrlID = 30,31


[bgctrl 2]
type = enable
time = 220
value =0                               ;time=220でID=30は無効

CtrlID = 30


[bgctrl 3]
type = enable
time = 300
value = 0                              ;time=300でID=31も無効

CtrlID = 31

;----------------------------------------------------------------------

上へ
まずは共通項から

[BGCtrldef 1]

CtrlID = 1

LoopTime= 10000


DEFファイル内の [BG XX]のところで指定した ID= を使用して操作するのが BGCtrlです。


**一番下の段落にまとめて書くとわかり易くていいと、思います**