弾幕。ショットパターン。

GDevelop

シューティングゲームのショットパターンを実装してみました。あまりシューティングをやらないのでパターンがどのくらいあるかわからないのでググりました。すべて簡単に実装できました。シューティングに限らず様々なゲームで使えると思うので参考にしてもらえると嬉しいです。これで花火のゲームとか作れそうだな・・・


まずはスプライトオブジェクトを用意し、「ポイントを編集」で5つの発射ポイント(Fire)を作成します。ビヘイビアに「FireBullet」を設定します。もう1つ弾のスプライトオブジェクトを用意しビヘイビアに標準の「画面外で破棄」を設定します。

プログラムは下記の通りです。Numキーとショットパターンを一致させてます。

1、ノーマルショット

まず基本のFireBulletで球を発射します。発射角度が戦闘機の向きによって変わります。私の使用したスプライトは上向きのスプライトなので、「スプライトの角度+270度」としています。

2、ツインショット

発射元座標をFire1ポイントから7ピクセルずらして発射させます。

3、トリプルショット

発射元座標をFire1、2、5ポイントから発射。

4、ファイブショット

発射元座標をFire1、2、3、4、5ポイントから発射。

5、3Wayショット

発射角度を30度ずらして発射。

6、ばら撒きショット

発射角度を250から290の範囲でランダムに加算させます。
RandomInRange(250,290)
「数学的ツール」の「指定範囲内でランダムな整数」で設定できます。

7、サークルショット

36回繰り返しさせて、用意した変数(hoge)に10度づつ加算して発射させます。

8、スパイラルショット

これは、「TimeDelta()*250」がポイントになります。TimeDeltaについては公式wikiを参照してください。250の値はFireBulletのCooldown設定値によって調整が必要になります。

Events - GDevelop documentation

紹介した内容を使ってシューティングゲームを作成したのでぜひ遊んでみてください。

コメント