最初に注意です
自分が何番のVarを何のために使ったかというのは
どこかにしっかりメモしておいてください
こんな具合に
var(4)
小ジャンプ var(5) ロングジャンプ var(6)
前ロングジャンプ var(7) 後ロングジャンプ var(8) 前方空中ダッシュ回数 var(9)
後方空中ダッシュ回数 var(10) 補正 var(18) 攻撃力 (強化) var(19)
高速移動 (強化) |
しっかりメモしておかないとバグ修正がめんどくさいことになります。
本題です
「Varには2つの使い方がある。
一つはスイッチ 一つは変数
だ!」
ということなので、
・スイッチとしての使い方
・変数としての使い方
この2つについて
まとめます。
この2つを覚えることで
*Varを使いこなしたい*
という目的は達成です。
では
*ここでは
()の中の数字を Varの識別番号
=の後の数字を Varの値
と呼ぶことにします
例
var(15) = 4
Varの識別番号 15
Varの値 4
Varの値は
何もしなければ0
VarSet
VarAdd
等の
ステートコントローラ一でのみ変化し
一度変化させると
再び
VarSet
VarAdd
等の
ステートコントローラ一で変化させない限り
そのラウンドの間そのまま |
この性質を利用します。
これを見てください
[State 1055, VelSet] type = VelSet trigger1 = var(5)
= 0 x = -2
[State 1055, VelSet] type = VelSet trigger1 = var(5)
= 1 x = 10 |
var(5) =
0ならば後ろに下がり
var(5) =
1ならば前に前に進む
というものです。
varの値は最初全て0
だから
とくに何もしなければ
[State 1055, VelSet] type = VelSet trigger1 = var(5)
= 0 x = -2 |
こっちが発動します
では
[State 1055, VelSet] type = VelSet trigger1 = var(5)
= 1 x = 10 |
こっちを発動させたい場合はどうするのか?
簡単です
[State 1055, VelSet] type = Varset trigger1 = time =
0 var(5) = 1 |
これを使います。
これを使うと。
var(5)
の値はそのラウンド間1になります。
ので
次回からそのラウンドの間は
[State 1055, VelSet] type = VelSet trigger1 = var(5)
= 1 x = 10 |
こっちが発動します
|
こんな感じです
使っていくうちに色々応用がきくようになるでしょう。
次
*ここでは
()の中の数字を Varの識別番号
=の後の数字を Varの値
と呼ぶことにします
例
var(15) = 4
Varの識別番号 15
Varの値 4
これを見てください
[State 1000, 2] type = VarAdd trigger1 = Time >=
0 var(10) = 5
[State 1055, VelSet] type = VelSet trigger1 = Time
>= 0 y =
2*var(10)+1 |
意味は
[State 1000, 2] type = VarAdd trigger1 = Time >=
0 var(10) = 5 |
1フレーム(60分の1秒)ごとに
var(10)
の値が5づつ増える
[State 1055, VelSet] type = VelSet trigger1 = Time
>= 0 y =
2*var(10)+1 |
1フレーム(60分の1秒)ごとに
速さが2*var(10)+1になる。
合わせて
1フレーム(60分の1秒)ごとに
速さが
1,11,21,31,41・・・・
になる
というものです。
[State 1055, VelSet] type = VelSet trigger1 = Time =
0 y = 1
[State 1055, VelSet] type = VelSet trigger1 = Time =
1 y = 11
[State 1055, VelSet] type = VelSet trigger1 = Time =
2 y = 21
[State 1055, VelSet] type = VelSet trigger1 = Time =
3 y = 31
[State 1055, VelSet] type = VelSet trigger1 = Time =
4 y = 41
: : : |
これと同じですね。
ここで注意しなければならないことが一つあります。
Varの値は
一度変化させると
再び
VarSet
VarAdd
等の
ステートコントローラ一で変化させない限り
そのラウンドの間そのまま
という性質です。
というのは
[State 1000, 2] type = VarAdd trigger1 = Time >=
0 var(10) = 5 |
これがあるステイトが
Time =
4 で終了した場合
var(10) の値は
20で
そのラウンドの間そのままです
それで次に
[State 1000, 2] type = VarAdd trigger1 = Time >=
0 var(10) = 5
[State 1055, VelSet] type = VelSet trigger1 = Time
>= 0 y =
2*var(10)+1 |
これを使うと
1フレーム(60分の1秒)ごとに
速さが
1,11,21,31,41・・・・
になる
が
↓
フレーム(60分の1秒)ごとに
速さが
41,51,61,71,91・・・・
になる
というものになってしまいます。
うまく対処してください。
|
こういうものです。
使っていくうちに色々応用がきくようになるでしょう。
他にも色々な使い方ができるとは思いますが
それは皆さんが自分で見つけてください。
|