Home > プログラミング > BulletML

BulletML

BulletMLでそれなりに多くの弾幕がかけるわけだけど,ループ(リピート)のカウンタ値が取れなかったり if がなかったりとややこしいことをしようと思うと少々困る.ループカウンタがないのは再帰を使えば何とかなるが,この場合終了条件での分岐が出来ない.n 回再帰したら終了みたいなコードをかけないと,フラクタル的な弾幕がうまくかけないので困る.ということで,少々アホな知恵を絞り,ある弾の生存期間を再帰関数の再帰期間とするようにする.具体的には,ある弾の action で action を再帰させ,再帰を終了したいときには changeSpeed の speed 設定で弾の速度をとても大きくし,フレームアウトさせて弾の処理をとめてやる.カウンタパラメータ $1 が 0 のときに再帰をとめるには,speed に 0.001/($1+0.0000001) とでも書いておけばいいと.

とりあえず,この仕組みを使ってパーフェクトフリーズもどきを再帰で書いてみた.アホだ...

★下記に2つの英単語をスペースで区切って入力してください

Home > プログラミング > BulletML

Search
Feeds

Page Top