
属性ダメージはゲームの定番設定のひとつです。
自分のゲームにも設定してみたいけど「どうやったらいいんだろう?」と悩んでいる方のために、この記事では「設定方法の解説」と「自分のゲームに応用する方法」をお伝えします。
属性ダメージとは
属性ダメージは、キャラクターの色や種類によって、相手に与えるダメージの量を変えることです。
例えば「火は木には強いが水には弱い」などですね。
ゲームなどでは5つくらいの属性をよく見かけます。

今回は「赤」「黄」「青」の3つの属性を設定していきますが、この記事を読んで基本をマスターしてしまえば、属性が5つでも7つでも設定できるようになるので、安心して下さい。
属性の設定

今回作成するプロジェクトでは「ネコが自分」で「カニとイヌが敵」という事にします。
ネコ(黄属性)は、カニ(赤属性)には弱く、犬(青属性)には強い設定にします。
属性を設定するために理解しなければいけないのは「変数の使い方」です。
変数を使って、以下の式を設定するだけで属性ダメージが作れてしまいます。
(元となる)攻撃力 x (自分の)属性 x (相手の)属性 = ダメージ量
まず、攻撃力については、あまり複雑にせず「10」で固定します。
(慣れてきたら、変更したりレベルアップ機能を付けて遊んでみて下さい)
「攻撃力」「てき」「ダメージ」という3つの変数を作成して、ステージの背景のコードを以下のように作成してください。

「じぶん」と「てき」のターンを設定

ここでは分かりやすく、ボタンをクリックしてターンを交代することにします。
「じぶん」ボタンのスプライトには以下のコードを設定します。

「黄属性」「青属性」「赤属性」という変数も登場しました。
後ほど説明するので、この通り作ってみて下さい。
「てき」ボタンのスプライトも同様に設定します。

「てき」の変数を1から2までの乱数に設定しているのは、攻撃を仕掛ける相手と攻撃を仕掛けてくる相手をランダムにするためです。
最後に「自分のターン」か「てきターン」を送ることで、ターンの設定が可能になります。
属性効果を数値化する
先ほど「じぶん」と「てき」のボタンに設定したコードを見て下さい。


黄属性(じぶん)は1.0に固定していますが、青と赤の属性の数字が、ボタンによって異なります。

この考え方が、属性ダメージのキモですので、しっかり覚えましょう!
青属性への攻撃:10(攻撃力)x 1.0(黄属性)x 1.2(青属性) = 12
赤属性への攻撃:10(攻撃力)x 1.0(黄属性)x 0.8(赤属性) = 8
青に対して攻撃量がアップし、赤に対してはダウンします。
てきのターンでは倍率を逆転させています。
青属性からのダメージ:10(攻撃力)x 1.0(黄属性)x 0.8(青属性) = 8
赤属性からのダメージ:10(攻撃力)x 1.0(黄属性)x 1.2(赤属性) = 12
青からのダメージ量は少なく、赤からは多くなります。
ここで、黄属性が「1.0」なら、わざわざ設定しなくてもいいように感じますが、この変数を設定しておくことで、以下のようにゲーム性を増す調整が可能になります。
(この記事では詳しい解説は省略します・・)
- 毒に侵されて弱っているので属性効果がダウン(1.0→0.8など)
- パワーアップアイテムを獲得(1.0→1.2など)
- クリティカルヒットを設定(1.0→1.5など)
HPを設定



HPについて、あまり複雑にはせず「ネコHP=100」「カニHP=50」「イヌHP=50」とします。
あとは、HPの値を「攻撃」や「ダメージ」に応じて減らしていく設定をしてゲーム完成です。
ネコのコード

カニのコード

イヌのコード

完成したゲーム
ここまで作成出来れば、属性ダメージに応じて、HPが減っていく設定は完了です。
このままでは、HPがマイナスになっても終了せず、ゲームが続行しますが、「ゲームオーバーを送る」などを使用してカスタムしてみて下さい!
まとめ
属性ダメージの設定方法について書きました。
今回の内容を基本として覚えることで、様々な属性効果の設定が出来るようになると思います。
一度で覚えられなくても諦めないでください!
繰り返し作成することで身に付いていきますので、頑張ってください(*^▽^*)
コメント