チュートリアル: 「0からはじめるACTION GAME MAKER」第五章

敵に「やられ」を追加しよう

プレイヤーと同じ方法が使えるはずです。「消滅」ステートに「やられパーティクルの表示」を追加しましょう。

そのまま追加するとパーティクルを表示すると同時に敵が消滅してしまいパーティクルも消えてしまいます。なので、「ウェイトを入れる」ことで表示時間を保持しましょう。

しかし、ここで問題が2点あります、「自身を消滅」が実行されるまでは敵キャラがそのまま動いてしまうので、「やられているのに動き、攻撃判定もある」という状態になっています。

1つ目の問題、「動く」については「テンプレート移動」が設定されているからです。アクション「テンプレート移動」で「停止」を入れるか、ステート中の移動速度を設定で0にして動けなくしてしまう、のいずれかで対応できます。今回は、後者で設定してみましょう。

2つ目の問題は、「攻撃判定を無効化」することが必要です。これは、「プロパティを変更」アクションで「AttackCollision」の「Disabled」プロパティを有効にすることで無効化できます。「プロパティを変更」アクションでは、変数やスイッチに加えて、インスペクターで設定できる項目を変更する機能があるためです。

では早速設定していきましょう。

「パーティクルを表示」を入れよう

1. シーンタブをenemy、エディター画面をScriptに切り替えます。

2. 「消滅」ステートを選択し、「+実行アクションの追加」をします。

3. 「パーティクルを表示」アクションを選択します。

4. パーティクルオブジェクトのパスで「やられパーティクル.tscn」を選択し、追加します。

「ウェイト」を入れよう

1. 続けて実行アクションを追加し、「ウェイトを入れる」を選択します。

2. パーティクルの表示時間は1秒なので、ウェイトの時間も1秒で問題ありません、このまま追加を押します。

このステート中は移動速度を0にしよう

1. 続いて、移動速度を0にします。インスペクターの「アクション設定」を展開してください。

2. 「左右の移動速度を変更(%)」という項目があるので100から0にしましょう、これでこのステート中は移動速度が0%になります。

「プロパティを変更」であたり判定を無効にしよう

1. 当たり判定をなくします。再び「+実行アクションの追加」ボタンを押してください。

2. 「プロパティを変更」アクションを選択し、以下のように設定します。

対象オブジェクトの種類:オブジェクトのプロパティ

対象の種類:自分自身

変更対象のノード名:AttackCollision

Target Object Name:disabled

定数値:オン

これで、「AttackCollision」の「disabled(無効化)」プロパティが有効になります。

3. 順番が「自身を消滅」より後になってしまっているので、三本線アイコンをドラッグして順番を入れ替え、

①「パーティクルの表示」

②「プロパティを変更(あたり判定)」

③「プロパティを変更(残敵数)」

④「ウェイトを入れる」

⑤「自身を消滅させる」となるようにしましょう。

テストプレイで動作をためそう

テストプレイで動作を試してみましょう。

敵を倒してエフェクトが出ること

倒した後の敵に体当たりしてもダメージを受けないことをチェックしましょう。

うまくいかない時のチェックリスト

エフェクトも出ず、すぐに消えてしまう:並び順が正しく、「自身を消滅」が最後になっているか確認をしましょう。

倒した敵にあたるとダメージを受けてしまう:「プロパティを変更」で正しくAttackCollisionのdisabledを有効にしているか確認しましょう。