今回つくる弾幕
難易度
前回に引き続きいろいろな種類の弾幕の作り方を解説していきます。第3回目は星型に並べられた弾丸が一斉に発射される弾幕です。星の描き方と、描かれた後に同時に発射されるというところがポイントです。弾幕の作り方をマスターして東方Projectのような最高に難しいシューティングゲーム作りに挑戦してみましょう
まずは仕上がりを見てみましょう。を押してみてください。
はじめに
まず、ステージと敵キャラクター、弾丸をセットしましょう。以下のように背景を宇宙(stars)にして敵キャラとしてクモを配置しました。さらに今回弾丸は丸い形にしています。
弾幕を作る
では弾幕を作っていきましょう。
こちらから先に挑戦するとわかりやすいです。
まず、星をどのように描くかを考えてみましょう。以下のように、星を描くにはまず90°の方向にまっすぐ線を引いてそこから234°の方向に変えて線を引きます。その後も144°づつ角度を変えて線を5本描けば星が完成します。
これをコードに書いていくと以下の通りになります。攻撃のスプライトに書くようにしてください。
発射の定義を作るときに、”画面を再描画せずに実行する”のチェックははずしておくようにしましょう。(チェックを入れると星が一瞬で現れます)。また弾の向きの変数は”このスプライトのみ”にチェックを入れます。
これでを押すと、以下のように星ができます。
では、次に星ができてから四方八方に広がっていくことを考えましょう。星が完成してからクローンを動かしたいので”星完成”という変数を作り、以下のようにコードを書きなおします。
【弾の向き-90度に向ける】というのはちょうど星が外側に広がっていくようにしているのです。この部分をいろいろと変更すると弾の飛び散り方を変更できます。
この状態でを押してください。以下のように動けば成功です。
例えば、他にも【弾の向き-90度に向ける】の部分を以下のように変更してみるとバラバラの向き(下方向)に発射されます。
星の数を増やす
では最後に星の数を増やしましょう。今回は増やし方として、スプライトを複製していきます。以下のように”攻撃”を右クリックして複製します。これを2回行い、それぞれ攻撃2、攻撃3と名付けます。
攻撃2、攻撃3のスプライトのコードをそれぞれ以下のように変更します。
弾の向きの変数を作ったときに”このスプライトのみ”にチェックを入れたので、そのまま複製しても問題ないのです
これで、を押してみましょう。以下のように3つの星ができれば成功です。
すべてのコード
これで今回のコードの解説は以上となります。すべてのコードは以下から確認できます。いろいろな弾幕のパターンを作って自分だけのシューティングゲーム作りに挑戦してください。