Profile

アメリ

Author:アメリ
キャラ紹介

line
カテゴリ
AIR (1)
Pos (1)
Var (1)
FAQ (1)
line
不許カウンター
line
最新記事
line
最新コメント
line
最新トラックバック
line
月別アーカイブ
line
sub_line
カレンダー
12 | 2017/03 | 01
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
line
検索フォーム
line
リンク
line
RSSリンクの表示
line
QRコード
QR
line
ブロとも申請フォーム

この人とブロともになる

line
sub_line
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
line
trigger1
 ステートコントローラーの実行判定用のトリガーについてです。基本的に0は偽で0以外は真になります。
一応2種類あって、triggerall と trigger1 系です。trigger1(trigger+num)は沢山書けます。
triggerallがあるとまずtriggerallの条件を全て判定してからtrigger1の条件を判定します。
他の様々なトリガーと区別する為に、ここではtrigger1をtrigger+numを表す用語として使う事にします。

次の様に書けます。trigger1は必須です。書式の項に書きましたが基本的に全て小文字で書いた方が良いです。
triggerall = ctrl = 0
triggerall = NumTarget
triggerall = stateno = 3100
trigger1 = time = 0
trigger1 = target, pos x > 40 || target, pos y - pos y > 0 || target, pos y - pos y < -60
trigger2 = time = 15
trigger2 = target, pos x > 60 || target, pos y - pos y > 0 || target, pos y - pos y < -60
trigger3 = time = 30
trigger4 = time = 45

同じtrigger1が続けてある場合は && つまりANDで続けたのと同じでtrigger1(triggerall)の条件を全て満たさないと真になりません。numの違うトリガーは || つまりORで繋げたのと同等になります。winmugenでは256文字制限があるので式が長い場合には気をつけましょう。

リダイレクト等でエラーメッセージを出さない書き方
 リダイレクトや0除算しない為には行を分けて書きます。これは、trigger1の実行が行単位で行われるからです。
 &&で繋げていると途中で条件を満たさなくなったらそこで終われば良いじゃないと思いますが、逆に後ろに||があったり:=を無視して良いのかと言う事になってしまうのと、それだと後ろの条件を見るのに更に工夫しないといけないのでこうなっているのだと思います。単にリダイレクトのリダイレクトが出来ないのと理由が一緒なんでしょうけど。
 要するに都合の良い解釈はしてくれない訳です。

例えば次の様な場合はターゲットがいないとエラーになります。
trigger1 = NumTarget && target,stateno && NumTarget

これはNumTargetが偽だとtargetの結果が-1になってエラーになります。


Redirectの項目にも同じことが書いてありますが、エラーが出そうな部分の手前のtrigger1に条件式を入れる事でエラーを回避します。

trigger1 = NumTarget
trigger1 = target, stateno


 リダイレクトは関数で行の解釈の最初の時点で処理しているので判定よりも先に変換が行われてエラーになるのだと思います。リダイレクトは参照先が変わるので扱いが違うのでしょう。その点を理解しておけば問題が起きても直ぐ解決できると思います。


最大数
 trigger1 だけ沢山書いて 100個 になるとキャラクター読み込み時にエラーが起きます。trigger2 でも同じかも。winmugenだとどうなんでしょう。

スポンサーサイト
line
line

line
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。