2Dでプレイヤーが球に当たりダメージを受けるという場面を再現しようとしています。そこでコライダーを用いて
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Ball : MonoBehaviour 6{ 7 float PlayerHP, Damage; 8 9 public void OnTriggerEnter2D(Collider2D col) { 10 if(col.gameObject.name == "Player"){ 11 PlayerHP -= Damage; 12 } 13 } 14 15} 16
とできますが、 このHPをプレイヤーが取得する際、プレイヤーのスクリプトにFindを扱う必要がでてきます。オブジェクトがこの二者のみならそれでよいのですが、ダメージを与えるボールの種類が増えていくと、プレイヤースクリプトに各々のボールを取得するためのコードを書くのは面倒です。そこでそれぞれが算出したHPをプレイヤーに送るか、タグを用いて当たったそのボールのコライダーのもつDamageを取得できればよいのですが、やり方が分かりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/28 08:04