アクツクMV初心者講座 弾の撃ち方編 弾はオブジェクト!
今回は、一見分かりにくい弾の発射方法を紹介します。
タイトルにもある通り、弾は専用のオブジェクトを作る必要があります。
オブジェクトなので攻撃方法を細かく指定できたり、上に乗って移動手段にしたりと自由に作りこむことができます。
今回は普通にまっすぐ飛ぶ弾を作りたいと思います。
完成予想図はこんな感じです。攻撃ボタンを押したら弾が発射されます。
[前提条件]
・前回の講座から、待機、ジャンプ、歩きの作成が完了している。
[用意するもの]
・弾の絵(必須) ※ない方のために、サンプルです。
・弾の攻撃モーション(任意)
1.アニメーションを作る
1.1接続点の使い方
アニメーションを作る前に、接続点について説明します。
接続点は壁判定や当たり判定と同じように、アニメーションで設定できます。
接続点は文字通り、別のオブジェクトと接続するための座標になります。
接続点と接続先のオブジェクトの関係を調べたところ、次のようになりました。
左側の十がプレイヤー、右側の・が弾になります。
接続点と弾の原点(オフセット0.0)が重なるような位置から弾が発射されます。
※接続点なしに設定すると、原点同士が重なるようですが、私の環境ではなぜかオフセット(24.24)の位置と弾の原点が重なるように発射されました。(おそらく不具合かどこかで変な設定が入っている)
なるべく接続点を設定することをオススメします。
これを意識してアニメーションを配置する必要があります。
1.2攻撃アニメーションを作る
[接続点]
接続点はプレイヤー側に設定する必要があります。では、攻撃モーションの弾を発射しそうな位置に接続点を設定していきましょう。なお、接続点はいくらでも増やせます。
①接続点の右側の■をクリックします。
②右側に接続点の設定が出てくるので、「キーフレームにする」「サイズと位置を指定」にチェックを入れます。
③接続点の位置を設定します。
左側も同じように設定します。接続点は個別に設定する必要があります。
私はこんな感じのモーションにしました。ループは1回です。
[弾のアニメーション]
次に弾のアニメーションを準備します。
弾は新規アニメーションを追加する形で作成します。
弾もオブジェクトのため、当たり判定や壁判定を付けることができますが、今回は敵を貫通するように攻撃判定だけをつけます。
左側はこんな感じです。
これで準備は完了です。次はオブジェクトを作っていきます。
2.オブジェクトを作る
登録の都合上、弾オブジェクト→攻撃アクションの順番で作成します。
2.1弾オブジェクトを作る
弾をまっすぐ飛ばすには、重力を無視して一定方向に移動するオブジェクトを作成し、一定時間経つと消滅するようにアクションを組む必要があります。
尚、アクション側でも重力を無視、飛ぶ方向を指定できます。どちらで指定しても良いですが、統一していないと後でわかりにくくなるので注意です。今回はオブジェクト側で設定していきます。
今回は壁判定の衝突はなしに設定します。※プレイヤーグループに当たるを選択すると自分で出した弾でダメージを受けます。
①重力の影響を受けないにチェックを入れます。
②表示方向と同じ方向へ移動を設定します。※今回は240ドット進むようにします。
次に、消滅用のアクションを追加します。
①モーション:設定しないを選択します。
②その他の実行アクションから「オブジェクトを消滅する」を設定します。
[リンクの設定]
[弾発射]→[消滅]
今回は、2秒経過したら弾が自動的に消えるように設定します。
これで弾は完成です。
2.2攻撃アクションを作る
[弾の設定を追加]
先ほど作成したオブジェクトを、プレイヤーの弾として登録します。
まず、プレイヤーオブジェクトの[スイッチ管理]の右側のマークをクリックします。
「発射する弾の設定」にチェックを入れ、[OK]ボタンをクリックすると[スイッチ管理]の右側に[弾の設定]が追加されます。
①弾の一覧の[+]をクリックすると、弾001が作成されます。
②弾にするオブジェクトを設定:に2.1で作成した弾のオブジェクトを選択します。
③「指定方向に飛ぶ」の「発射元の表示方向に飛ぶ」を選択します。
※発射元にと飛ぶ方向を一致させないと、今回設定したオブジェクトでは左向きで弾を発射しても右側に弾が飛びます。
※弾の出る数や飛ぶ方向、軌道の変化、重力の影響や移動速度の変化を設定できます。
[攻撃アクションを追加]
①攻撃アクションを追加します。先ほど作成した攻撃モーションを設定します。
②「その他の実行アクション」から「弾を発射」をチェックし、先ほど作成した弾を選択します。
③接続点を選択:でアニメーションを作成したときに設定した接続点を設定します。
これで設定した弾を接続点から発射するようになりました。
[リンクを追加]
[待機]、[歩き]、[ジャンプ]からの攻撃ボタンが押されたら弾を発射するように設定していきます。※ここではYを設定します。
[待機]→[攻撃]
[歩き]→[攻撃]
[ジャンプ]→[攻撃]
Yボタンが押された瞬間を設定します。
ジャンプ、歩きについても同様にリンクさせます。
[攻撃]→ [待機]
攻撃から待機に移動する条件を指定します。
「モーションのアニメーションが最後まで実行された」、または「一定時間が経過」の好きな方を追加しましょう。経過時間は作りたいゲームの攻撃硬直を考えて調整してください。※無限ループにしている場合は「モーションのアニメーションが最後まで実行された」を選択すると待機に移動しないので注意してください。
これで弾を発射するアクションの完成です。
※注意 テストする前に、前の講座で敵のやられ設定をオブジェクトで指定している場合は、オブジェクトグループで指定:プレイヤーグループを選択してください。
それでは、[F5]キーを押してテストしてみましょう。
※今回は1画面に弾が1つしか出せない設定のため、2つ目を出そうとすると空ぶります。
いかがでしたでしょうか。弾は出せましたか。
分からない、描いてある通りにやってみたけど上手くいかない場合はコメントにお願いします。
※今回は説明を省略しますが、[攻撃]から[やられ]へのリンクも作る必要があります。
今回はここまでです。次回は近いうちに武器セレクトについて説明しようと思います。