2.ダメージ処理と無敵時間無敵時間について
無敵時間に考慮した複数ダメージを有効にする
動画で見た通り、現状の設定では1つの攻撃に対してしかダメージ判定が行われていません。しかし、ゲームでは同時にダメージが有効にならなければ破綻してしまいます。
特に、ボスのような強敵には複数の攻撃を駆使して戦うことになるでしょう。
ここからは、複数の攻撃が有効になる処理の作り方を解説していきます。
各種攻撃に対する判定オブジェクトを設定する
Shooting Chicken の各種攻撃は大きく分けて4種類に分類されています。
通常攻撃、爆発、火炎放射、引火時の炎。
それぞれに反応する専用のオブジェクトを用意し、親となる敵オブジェクトにオブジェクトの接続で紐付けします。
爆発ダメージ判定
各種攻撃判定オブジェクトのオブジェクト設定でグループを設定します。ここでは爆発ダメージ判定を設定しています。
攻撃判定との接触を有効にするため、ダメージ処理を行うアクションをリンクで繋ぎます。
リンク条件に攻撃判定に当たるを追加し、オブジェクトグループはエフェクト、属性に数値で攻撃IDを設定します。
※各種攻撃判定オブジェクトにも親オブジェクトと同じように基本設定を忘れないようにしてください。
変数を変更する
親オブジェクトの変数に実際の体力という変数を追加していますが、
制御がし易いように別の変数を設定しているだけなので、親オブジェクトの体力でも構いません。
次に、各種攻撃判定用オブジェクトにダメージが有効になった際の実行アクションを設定します。
スイッチ・変数を変更を追加し、変数を変更で親オブジェクトに追加した実際の体力を選択します。
この実際の体力変数の計算式に -= を設定し自身のオブジェクトの被ダメージ数値を選択しましょう。
これで、この攻撃判定用オブジェクトがダメージを受けると、親オブジェクトの実際の体力変数から被ダメージ数値の値を減算するという処理が完成しました。
これと同じように、全ての各種攻撃判定用オブジェクトにも設定すれば完成です。