Pixel Game Maker MV Guide

初めての方向けガイドPart3:キャラクターに弾を発射させる for Pixel Game Maker MV

初めての方向けガイドPart3:キャラクターに弾を発射させる

Overview

初めての方向けガイドPart3では弾を発射するキャラクターの作成方法を説明していきます。

1:アニメーションの説明

①接続点

今回はキャラクターに弾を撃たせてみましょう。

ガイド1で「Test Game」という名前のプロジェクトを作成しましたね。
まずはそちらを開きましょう。アクションゲームツクールMVを起動して
スクショ赤枠内の「Test Game」をクリックしてください。

「Test Game」を開いたらまずは弾のアニメーションの確認をしていきます。
画面上のアニメーションのタブをクリックしてください。

以前のガイド1でインポートした素材が表示されましたね。
この左側のアニメーション一覧の中にある「wait」をクリックしましょう。
するとキャラクターの様々なモーションが出てくるのでこの中の「shoot」を
クリックします。

すると以下のような画面が出てきます。

こちらはキャラクターが銃で弾を撃った際のアニメーションになります。

この画像の拳銃の先端にある黄色い四角に注目してみましょう。

この赤枠に囲われた黄色い四角を【接続点】といいます。
接続点とはこのキャラクターと別のオブジェクトをつなぐための
座標のことを言います。

この場合、銃の先端が接続点になっているのでここから別のオブジェクトを
出現させることができます。

今回は銃の弾をここから発射できるように設定していきます。

②弾のアニメーション

次に弾のアニメーションの確認をしていきましょう。
アニメーション一覧の中の「bullet」を選択し、「bullet01」をクリックします。

すると以下のようなオブジェクトが表示されます。

色んな判定が重なっているため少し見づらいですがこちらが弾のオブジェクトになります。
先ほど説明した接続点の黄色い四角が真ん中にありますね。
この接続点と先ほどの銃の先端の接続点をつなぐことで、銃からこの弾を発射できるように
なります。この設定は後ほど行います。

さて、このままではプレイヤ―が弾を発射しても弾が空中で静止したままになってしまいます。

そこで今から弾が自分が向いている方向に飛んでいくように設定しましょう。

まずはbullet01をクリックして右に表示される「表示方向001」という名前を
「右」に変更します。

その後、右側に表示される矢印の中の右側をクリックしてください。

このままだとキャラクターが左を向いて弾を撃った場合も
右に弾が飛んでいってしまうので、左向きの弾も設定しましょう。

表示方向の欄の「右」の上で右クリックを押します。

そしてその「右」の少し下で貼り付けを行うと「右(1)」という新しい項目が作成
されるのでこちらの名前を「左」に変更しましょう。

右上にも「右(1)」と書かれている箇所が多いあるので同様に名前を変更します。

さらに表示方向の設定という箇所の矢印が右側に設定されています。
こちらの右の緑になっている矢印をクリックして白色にし、左側をクリックして
緑色にしましょう。

これでアニメーションの準備が完了しました!
次はオブジェクトの作成をしていきます。

2:オブジェクト作成

これよりオブジェクトの作成を行っていきます。
まずは弾を発射するオブジェクトの作成を行いましょう。

画面上のタブの「オブジェクト」を選択し、左側のオブジェクト一覧で右クリックを押し
「オブジェクトを追加」を選択してください。

オブジェクトの設定が開かれるのでオブジェクト名を「弾」に、
アニメーションの選択で「インポートされた素材」>「export file」>「bullet」
を選択して画面下のOKを押しましょう。

すると「アクション001」というアクションが作成されます。
こちらをクリックすると右側に設定画面が表示されます。
まずは分かりやすいように右上にある名前を「アクション001」から
「弾を発射」に変えておきましょう。

次に「重力の影響を受けない」という欄の左にチェックを入れ、
「その他の実行アクション」の下にある+マークをクリックしましょう。

すると「その他の実行アクション」の設定画面が表示されます。
左側の欄から「表示方向と同じ方向へ移動」にチェックマークをいれましょう。
その際に移動距離を設定することができます。ここでは400と設定しましょう。
右下のOKを押して「その他の実行アクションを閉じます。」

次は弾が消滅する際のアクションを作成しましょう。
マス目の上で右クリックをした後、「アクションを追加」を選択しましょう。
すると先ほどと同じように「アクション001」が作成されます。
こちらも分かりやすいように「消滅」という名前に変更しておきましょう。
そして、「その他の実行アクション」の+をクリックします。
「その他の実行アクション」を開いたら「オブジェクトの消滅」にチェックを入れ
OKを押しましょう。

以上でオブジェクトの作成は終了です!
次はアクション同士をつなぐリンクの設定を行っていきます。

3:弾を消滅させる設定

弾が自動で消滅するように設定を行います。
今回は発射してから1秒後に弾が消滅するように設定をしていきましょう。

「弾を発射」のオブジェクトの上で右クリックを押して
「リンクを追加」を選択してください。

「弾を発射」から直線が伸びてきたはずです。
この線を「消滅」の上まで引っ張りクリックしましょう。

すると「弾を発射」から「消滅」の間に矢印が引かれたと思います。
この矢印をクリックしてください。
右側にリンクの設定画面が表示されます。
こちらの「その他の条件設定」の「+」をクリックしてみましょう。

その他の条件設定が開かれましたね。
上のタブの「2」を選択し、左側の「一定時間が経過」にチェックをいれます。
その後、右側に時間の設定を1.00秒に設定しましょう。
ここで設定した時間が弾が消滅するまでの時間になります。

これで弾を消滅させる設定ができました!

4:弾の登録

では、ただいま作成したオブジェクトをプレイヤーの弾として登録しましょう。
左側にあるオブジェクト一覧のプレイヤーを選択し、上のタブの「スイッチ管理」の
隣にある歯車マークをクリックしてください。

オブジェクトの設定項目の追加という画面が表示されるので、この項目の
「発射する弾の設定」の左にチェックマークを入れ、OKを押してください。

すると先ほどの歯車マークの左に「弾の設定」という新しい項目が追加されます。
こちらをクリックしましょう。

弾の設定画面が表示されるので左側の弾の一覧にある「+」をクリックしてください。
そして弾にするオブジェクトを設定を「設定無し」から「弾」に変えましょう。
さらに弾の飛び方(初期動作)の
「指定方向に飛ぶ」「発射元オブジェクトの表示方向に飛ぶ」にチェックを入れます。

更にこの弾の設定の一番下の項目の「移動速度を変更」にチェックを入れ
数値を「500」と入力しましょう。これで弾の速度を変更することができます。

弾の登録が完了しました!

5:銃の接続点から弾が出るようにする

いよいよ銃から弾が発射するように接続点と接続点をつなぎます!

上のタブの「アクションプログラム」を選択そオブジェクト作成画面に戻りましょう。
2:オブジェクト作成で説明した手順通りに、また新しいアクションを作成しましょう。名前は「攻撃」にしてください。
そしてモーションを「shoot」に設定しましょう。

「攻撃」アクションの作成が完了しましたら、右側の「その他の実行アクション」の下に
ある「+」をクリックしてください。

その他の実行アクションの設定画面が表示されますので
左側の「弾を発射」にチェックを入れましょう。

そして右側の弾を選択の欄を「弾001」に、接続点の選択を「接続点」にしましょう。
ここで「shoot」と「弾001」をつなぐことにより、
「shoot」の銃の先端の接続点から弾が出るようになります。

これで銃から弾が出るようになりました!

6:リンクの追加

さて、最後の仕上げです。

「待機」「歩き」「ジャンプ」の状態から攻撃ボタンを押した際に弾が発射するよう
設定していきます。

ますは攻撃ボタンの設定をしましょう。

「待機」から「攻撃」にリンクを作ってください。
そしてリンクをクリックし、右側の「入力に関する条件設定」の
「以下の入力操作がされた」にチェックを入れましょう。
その後、下の「+」をクリックします。

「+」を押して入力に関する条件設定を開くと入力に使う操作キーを設定することができます。ここでは「Y」に設定しましょう。キーの設定が完了したらOKを押してください。

リンクの上で右クリックでメニューを開きコピーを選択すると
そのリンクの情報をコピーをすることができます。

そして各アクションの上で再度右クリックを押し「リンクをペースト」で
「待機」→「攻撃」と同じ設定がされたリンクを貼り付けることができます。

「歩行」と「ジャンプ」も同様に「攻撃」にリンクをつなげましょう。

最後に「攻撃」から「待機」へリンクをつなげます。
これをつなげないとキャラクターがショットを撃った後、次のアクションを
行うことができなくなります。
リンクを作ったあと、右側の「アクションを切り替える条件」の中の
「モーションのアニメ―ションが最後まで実行されたら」にチェックをいれましょう。

これでアクションの設定が全て完了しました!
最後にテストプレイを行いましょう!

7:テストプレイ

テストプレイを行う前に前回のガイド1同様ボタンの割り当てを確認します。

画面の上にあるタスクバーの「設定 > 操作キー管理」を選択してください。

先ほど「Y」ボタンを押すことで弾が発射できるように設定しました。
こちらの「Y」ボタンというのはキーボードではなくゲームパッドのボタンのことを指します。キーボードの「Y」キーを押しても弾は出ません。
下の操作キー管理画面を見てください。

ゲームパッドが「Y」となってあるところが、キーボードでは「S」となっていますね。
つまりキーボードでは「S」キーを押すと弾が撃てるということです。
OKを押して操作キー管理画面を閉じましょう。

上のタブのシーンをクリックします。

以前のガイド1で作成したステージが残っていると思いますのでこちらで
F5キーを押してテストプレイを行いましょう。

このガイドの説明の通りに設定ができていればSキーを押すと弾が発射されるはずです。

念のため反対方向にも撃ってみましょう。

このGifのようにキャラクターが弾を発射できたならば今回の講座は終了です!
お疲れ様でした!問題なく設定することができたでしょうか?

・自分の方向に向かって弾が飛んできた
・弾が宙に浮いたまま動かない
・弾を撃った後再度弾が撃てなくなった

アニメーションの表示方向の設定や、オブジェクトの弾の設定、アクションのリンクに問題がある場合が高いです。

それらの場所に漏れが無いか、このガイドを読み返しながら再度ご確認ください。

また、テストプレイ中にF1キーを押すとオブジェクトの情報やアニメーションの判定を確認することができます。

オブジェクトの確認はF1を押して「デバッグ機能」を選択し、「実行ログコンソール表示」を選択します。

すると、オブジェクトのログデータが表示されます。
プレイヤーが弾を撃った際のログを確認してみましょう。

「弾を発射」→「表示方向と同じ方へ移動」→「オブジェクトを消滅する」

とログが表示されましたね。

「弾を発射」はその通り、プレイヤーが攻撃したことを表すログです。
これが表示されず弾が発射されないということは
オブジェクトでリンクの設定や「攻撃」の「その他の実行アクション」に
問題があるということです。

次に「表示方向と同じ方へ移動」と表示されましたね。
このメッセージが表示されているということは弾がまっすぐに発射される設定が
上手くいっているということです。逆に弾が空中で静止してしまうなどといった問題が
起きた場合はこのログが表示されないので、弾のオブジェクトの「弾を発射」の
「その他の実行アクション」を見直してみるといいでしょう。

「オブジェクトを消滅する」のログが表示された場合は弾が一定時間で消える処理が
しっかり為されているということです。
これが弾がずっと消えないままこのログが表示されない場合は
オブジェクトでリンクの設定や「消滅」の「その他の実行アクション」を
見直してみましょう。

次にアニメーションの判定の確認の方法を説明をします。

F1を押してデバッグ機能を選択しましょう。
そして「壁判定を表示」「当たり判定を表示」「攻撃判定を表示」「接続点を表示」
チェックを入れてください。

するとオブジェクトの周りに判定が表示されます。

緑色の枠が壁判定、青色の枠が当たり判定、赤色の枠が攻撃判定、黄色の枠が接続点になります。

少し見えずらいですが弾の中に緑色の壁判定がありますね。
弾が壁を貫通するように設定したい場合はこの判定を消してしまえばいいわけです。

キャラクターの周りに青色の当たり判定がありますね。
これがなければプレイヤーは無敵になってしまいます。
この判定を弾につけ加えれば、攻撃でかき消すことができる弾を作ることができます。

弾の周りに赤色の攻撃判定があります。
敵に弾を撃ってダメージを与えることができなかった場合は、
「敵の当たり判定が無い」「体力が0になってもオブジェクトが消失する設定になっていない」などの原因が考えられますが「弾に攻撃判定がない」という可能性もあります。
敵にダメージが入っていない場合は確認してみましょう。

キャラクターの足元や、銃の先端、弾の中心に接続点が表示されていますね。
弾が不自然な位置から発射される場合はこの接続点がズレている可能性があるので
「アニメーション」の「shoot」や「bullet」を確認してください。

上記で説明したことはほんの一部ですがデバッグ機能には他にも様々な活用方法が
あります。いろいろな機能を試してみるのも面白いでしょう。

これで今回のキャラクターに弾を撃たせる説明は終了になります。
次回は敵キャラクターを作ってみましょう!

Special Thanks:あいあんとべあ様 

SteamSolo.com