Unityでサンプルのたこ焼きゲームを展開して作成しています。
たこ焼きをクリックすると文字"1"を出力しダメージを与える部分まで実装できました。
今回ですが、下記サイトのようにダメージ文字がぴょんって跳ねてくれません、、、(そのまま下に落ちてく)
http://satoukibi.hatenablog.com/entry/2017/02/25/Unity_でダメージUIを作る(2D)
エネミー(たこ焼き)をクリックすると下記[DamegeObj]が生成されるようにし
public void OnMouseDown()
{
〜略〜
// エネミーと同じ位置にダメージ[DamegeObj]を生成
Instantiate(DamegeObj, new Vector3(this.transform.position.x, this.transform.position.y, 0)
, transform.rotation).GetComponent<TextMesh>().text = "1";
その後[DamegeObj]の"1"は出てくるんですが、[DamegeObj]にアタッチした[DamageTextSCR.cs]が動作していない状況なんです。
[DamageTextSCR.cs]のStart()は下記にしてます
// Use this for initialization
void Start()
{
Debug.Log("◼◼DamageTextSCRスタート開始◼◼");
GetComponent<Rigidbody2D>().AddForce(new Vector3(Random.Range(-80, 80), Random.Range(100, 180), 0)); StartCoroutine(DestroyObject()); }
上記の◼◼DamageTextSCRスタート開始◼◼とログに出てくれない事と、あとはエラーではないですが下記警告が出ています。
The referenced script (DamegeTextSDR) on this Behaviour is missing!
UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion)
Enemy:OnMouseDown() (at Assets/Scripts/Enemy.cs:107)
UnityEngine.SendMouseEvents:DoSendMouseEvents(Int32)
DamegeTextSDRが見つからない?らしいですが、
添付写真を見るとわかる通り、DamejeObjにDamegeTextSDRをアタッチしてるんですよね。
この状況を打破して、生成された[DamejeObj]に対して、アタッチ済みの[DamageTextSCR.cs]のStart()を動かせるようにするにはどうすれば良いでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/26 23:12
2020/07/26 23:17
2020/07/26 23:42 編集
2020/07/27 02:05