Я создаю игру, в которой появляется объект и игрок должен нажать на него, после чего объект удаляется и в score прибавляется очко.Но тут начались проблемы, сначала юнити уничтожал не экземпляр, а сам префаб, тогда я решил просто создать 2 скрипта, в первом написал спавн объекта, во втором -уничтожение,2 скрипт я привязал на сам префаб, и тут начинается 2 проблема - текст из иерархии не хочет вставлятся в окно для текста
Но если я вставлю скрипт с уничтожением в камеру или еще куда, то все нормально, но прикол в том, что если я поставлю на камеру, то ничего не нажимается, а если я поставлю на Controller, который я сделал из 3д куба и убрал оттуда mesh renderer, то по нажатию в любую точку экрана объект будет удалятся, но мне надо, чтоб объект уничтожался по нажатию по самому объекту, а не на любой точке.
В инете я такое не нашел, вот все как у меня работает
тут код со спавном объектов
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Hitenemy : MonoBehaviour
{
public GameObject man;
GameObject enemy;
void Start()
{
StartCoroutine(Spawn());
}
void Update()
{
}
IEnumerator Spawn()
{
while (true)
{
man.transform.position = new Vector2(Random.Range(-2.21f, 2.195f), Random.Range(-4.354f, 2.498f));
enemy= Instantiate(man);
yield return new WaitForSeconds(1.5f);
// Destroy(enemy);
// yield return new WaitForSeconds(1.5f);
}
}
}
а тут с уничтожением
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Destroyenem : MonoBehaviour
{
public Text score;
private int count = 0;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void OnMouseDown()
{
count++;
score.text = count.ToString();
Destroy(gameObject);
}
}
мне кажется, что у меня костыли какие-то получаются, но как говориться:"Если работает-не трогай"
хотя я новичек
прошу помощи.