Я создал несколько одинаковых довальных клонов like that., и я хочу уничтожить один из них, который я выбираю.Выбор конкретного сборного блока
Прежде всего я использовал raycast2d для обнаружения удара и collied с сборного эффектом
if(Input.GetMouseButtonDown(1))
{
RaycastHit2D hit = Physics2D.Raycast (Camera.main.ScreenToWorldPoint((Input.mousePosition)), Vector2.zero);
if(hit.collider != null && hit.collider.gameObject==gameObject){
health-=PlayerScript.damage;
if(health<=0){
Destroy(hit.collider.gameObject);
}
}
}
этот сценарий все здоровья префабы. Поэтому я решил создать игровой объект с коллайдером, и если этот игровой объект столкнулся с prefab, prefab потеряет здоровье, а затем уничтожит. я создаю экземпляр объекта игры, как этого
GameObject object=Instantiate(selectOb,Camera.main.ScreenToWorldPoint(Input.mousePosition), Quaternion.identity) as GameObject;
И я проверить, есть ли столкновение между объектом игры и сборным с ничтожной OnCollision2DEnter().
Теперь есть другая проблема. Игровой объект не связан с другим сборником, потому что area sizes of collider
Надеюсь, я мог бы описать свои проблемы. Я ждал вашего совета о выборе конкретных PREFAB или моих столкновения проблемы
Во-первых, 'prefab' - это что-то в ваших активах, а не в сцене (это только формальная вещь, не связанная с вашей проблемой). Ваш сценарий raycast на каждом экземпляре вашего сборника? Если это так, вы должны изменить это на выделенный игровой объект (какой-то контроллер). В противном случае каждый клон выполнит этот скрипт, где вам потребуется только одно выполнение. –
Да, сценарий raycast присутствует в каждом экземпляре моего prefab.I пытался добавить контроллер bool, который активировал OnMouseOver, и если контроллер bool был прав, объект теряет здоровье. но опять же другие клоны теряют здоровье, и когда мышь над ними, они уничтожаются. Не могли бы вы дать совет о контроллере сортировки? потому что, что бы я ни пытался, он не работал. – yatagac