もどる TOP

今年はちゃんとシューティング作りたい

 いつまで手こずってるんだ……?

弾幕

 幾度となくそれっぽいスクショやら上げてると思うのですが、中身が気に食わなくてなかなか踏み切れませんでした。特定のパターンを撃つだけなら、プログラムをゴリゴリ書けばそうなるけど (Whitedayはせいぜい4パターンなので全部ゴリゴリ書いた)、いろんなパターンの弾を撃つためにそれを全部やってたら、おそらくコードのメンテだけで氏んでしまう。だから足元を固めないといけないのだが……

 それでずっと考えてたのをようやく作ってみた。↑の動画だけ見ると今までと何も違わないんだが、中身がけっこう違ってて、例えばこれは↓こういう感じになっている (JavaScript)。

中身

 いやこんなん見せられてもって感じだけど、repeatとかwaitとかfireが命令になってて、動画の弾幕になってるの。15フレーム待つ (wait) → (見えないけど) 自機に狙いをつける (aim) → BULLET_TYPE_Sという弾を360度の12wayで撃つ (fire) → その他その他……みたいな。他にはrepeatStartのカッコ内の回数だけ、repeatEndとの間を繰り返したりする。rotateは狙いの角度を現在値から回転させる。accelは弾速を現在値に加算する。

 もっとすっきり書ければいいんだけど、とりあえずこれくらいの粒度まで落とし込めば、コードをゴリゴリ書かなくてもあるていど行けるんじゃなかろうか?? 少なくとも今までの中では一番イケてる。ほかにも命令が必要なら作ればいい。例えばこれだと、同時に放たれるway弾の中で角度や速度をランダムにできないので、ショットガンが作れないから、そういうのとか。

 ちなみにrepeatは前に練習で作ったBrainfuckのインタープリターのおかげで思いついた。やっててよかった!!

 あとは……敵をバリバリ動かせるようになれば……

サイドバーを表示する
ブログ
ShortCircuit
ShortCircuit
花火大会
天使
去る512時間前、キリウ君は折れてない千歳飴を渡してきて、ぼくが折るよう仕向けた。1024時間前、彼はこの世のものではないハッシュアルゴリズムでひとりブロックチェーンを始めていた。