##クリックでオブジェクトを消したい(unity)
2Dで簡単なゲームを製作中で、prefabからinstantiateで量産したオブジェクトをonClickAct関数でDestroyしようとしているのですが、実行してクリックしてもオブジェクトが消えてくれません。
該当のソースコード
C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Vegetable : MonoBehaviour
{
[SerializeField]
private Rigidbody2D rb2d;
void Start() { rb2d = GetComponent<Rigidbody2D>(); Vector2 force = new Vector2(-10, 5); rb2d.AddForce(force, ForceMode2D.Impulse); } public void onClickAct() { Debug.Log("Button click!"); Destroy(gameObject); }
}
補足情報
・Macを使っています。
・EventSystemとPhysics2DLayCaster追加済み
・EventTriggerコンポーネントを追加しPoniterClickをonClickActで設定しています。
・オブジェクトのprefabには2Dコライダーを大きめに設定してあります。
・Debug.Logが表示されていなかったので、onClickAct関数自体が実行されていないようです。
どなたか詳しい方おられましたら、どうかよろしくお願い致します。
別のオブジェクトが重なっている等の理由でクリックが通っていない可能性があります。
エディタでプレイ中、ヒエラルキーでEventSystemのGameObjectを選択すると、現在どのオブジェクトにポインタが当たっているか・クリックしているか等がわかるので確認してみてください。
あなたの回答
tips
プレビュー