@ILIIA2289

Как оформить код для подбора предметов в unity на телефон в 2D?

Всем привет! Я вот делал свой проект и хотел сделать такую механику как подбор предметов на телефон.
Как это должно работать:Когда ты подходишь к предмету которому надо подобрать должна появляться кнопка что бы подобрать предмет,когда ты нажимаешь на нее ты предмет подбираеться.
Но когда начал писать код стал в ступор,Я юзал "OnTriggerEnter2D" И когда игрок подходил к предмету я включал кнопку
подобрать а кнопку атаки выключал. Но игрок может нажимать кнопку когда захочет, а OnTriggerEnter2D работает как метод Start, при со прикосновением с предметом.Ну и за этой фичи я стал в ступор

Сможете подсказать метод или модификации для кода?)
  • Вопрос задан
  • 461 просмотр
Решения вопроса 1
DanielMcRon
@DanielMcRon
C# && Unity
Есть ещё OnTriggerExit2D, OnTriggerStay2D. Выходит - убирать предложение, заходит - появляется
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Как вариант, постоянно проверяем дистанцию к каждому предмету который можно подобрать. И если это дистанция меньше, чем дистанция подбора то кнопка отображается, иначе скрыть. Тоже самое когда нажимаешь подобрать, оно проверяет дистанцию и подбираем всё что находиться в зоне подбора.
К примеру
void update(){
         int takeDist = 100;//зона подбора
         bool isShowBtn = items.where(it=> getDist(player.x,player.y,it.x,it.y) <= takeDist ).count() > 0;
          if(isShowBtn)
             //show btn
           else 
               //hide
     }
	public static double getDist(float x,float y,float x1,float y1){
			return Math.Sqrt(Math.Pow(x1-x,2) + Math.Pow(y1-y,2));
	}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы