[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
この機能を使うにはJavaScriptを有効にしてください
|
製作お助け掲示板2
126
:
blank
:2015/04/26(日) 05:59:39
補足する必要はないかもしれませんが、初心者でtime%Xが何をしてるのか判らないという方をよく見かけるので少しだけ詳しく。
算術演算子%とは、 値a % 値b の形を取るもので、[*]や[/]、[+][-]と同様、計算するためのものであり
time% という固定されたナニカがあるわけではありません。割った余りをはじき出すための算術演算子です。
例示1
150 % 5 が返す値は0 (150は5の倍数であるため、余りが出ない)
130 % 3 が返す値は1 (130/3=43と余り1)
なぜこんなあまり見たことのないような[time%X=0]の値を使うよう指示されたかですが、
mugenは基本的に60fpsです。1f(フレーム)が1/60秒を表し、60フレームで1秒となります。
timeも同様に1/60秒を1としていますから、同じ大きさと考えて差し支えありません。1t=1fです。
そして60fpsとは、現在のステートの記述を「秒間に60回実行」しているということです。
例示2
trigger1 = alive
と記述すると、ステート実行中は1秒間に60回のペースで延々と繰り返します。(aliveは生死を表すトリガー)
>>122
の記述
trigger1 = AnimElemTime(10) >= 0
trigger1 = AnimElemTime(15) < 0
を要約すると、アニメ番号[10枚目、表示時間0以上]、アニメ番号[15枚目、表示時間0未満]の時となります。
つまり、10枚目の0f目から11枚目,12枚目,13枚目、14枚目の最後のフレームまで全てにおいて「HitDefを上書き発生」させています。
Hitした次のフレームには再発生し、またHitする。それがHitした場合はまたさらに次のフレームには再発生する。
そんなようなことを秒間60回も繰り返すので、とびぬけたヒット数を計上してしまいます。
これについては
>>122
にも触れられていますね。
等間隔で複数ヒットさせたい、けどtime = 0 time = 10 time = 20とトリガーを大量に書くのは煩雑でよろしくない。
そんなときにTime%X=0が非常に強い味方になってくれます。
例示3
Time%10=0と記述した場合、この条件(Timeを10で割った余りが0)を満たすタイミングは
time=0、time=10、time=20、time=30、time=40、time=50、time=60、time=70・・・。
1桁目が0になった瞬間のフレームで余りが0となり、条件を満たします。1桁目1〜9では全て余りが0でなくなり、満たしません。
つまり、Time%10=0 をトリガーに指定すると、秒間に0,10,20,30,40,50の計6回Hitまで、先ほどまでの1/10しか当たらなくなります。
例示4
trigger1 = Time = 0
trigger2 = time = 10
trigger3 = time = 20
trigger4 = time = 30
trigger5 = time = 40
の2つを同時に満たすものをTime % X = 0に書き換えると、
trigger1 = Time >= 0、time <=40
trigger1 = Time % 10 = 0
の2行となります。すっきりしますね。Timeは原則0から始まるので、一行目はたんに[trigger1 = time<=40]だけでも同じ結果が出ます。
以上から、
>>122
の記述に戻り
trigger1 = AnimElemTime(10) >= 0
trigger1 = AnimElemTime(15) < 0
に
trigger1 = time % 12 = 0
等と追記すると、秒間に最大でも5Hitまでの制限が加わります(0f,12f,24f,36f,48f)。
ヒット数は60/Xの形で電卓をたたけば手元で簡単に計算できますので、
あとはアニメの表示時間、あたり判定の存在する時間などと見比べながらお好みの値を入力していきましょう。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板