Действие через кнопку при условии
Вкратце, мне нужно сделать так, чтоб при нажатии на кнопку удался объект к которому прикоснулся игрок (по коллизии грубо говоря), сама соль в том, что я не могу понять одну вещь.
Как мне сделать так, чтоб кнопка "понимала" что коллизия есть, и можно удалить обьект (обьектов много и они все рандомно спавнятся, через префаб тут не вариант)?
проще говоря, по сцене куча обьектов что заспавнились рандомно, и вот когда игрок получается касается коллизией одного из них (любого абсолютно) , мне по нажатию кнопки на экране нужно удалить именно этот объект (сенсорное управление).
Да, я знаю что весьма запутано, но я уже парюсь второй день с этим, а все понять не могу, много как пробовал уже, искал что-то похожее, но все ничего. Я просто не могу понять, как такое провернуть, но уверен что возможно.
Костыли Велосипеды, никак иначе.
Ответы (1 шт):
Я не уверен будет ли при таче именно колизия, но если єто и вправду коллизия а не какой-то другой метод, то приблизительно как-то так:
OnCollisionEnter(Collision col) {
Destroy(this);
}
код не проверял.
если же не существует отдельного ивента вроде коллизии который отвечает за тач, то будет что-то вроде:
void Update () {
RaycastHit hit = new RaycastHit();
for (int i = 0; i < Input.touchCount; ++i) {
if (Input.GetTouch(i).phase.Equals(TouchPhase.Began)) {
Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
if (Physics.Raycast(ray, out hit)) {
Destroy(hit.transform.gameObject);
}
}
}
}