C#

Как написать код? unity 2d

Здравствуйте! Не понимаю как сделать что бы подходя к определённому месту
Пример:Появлялась кнопка
(В моём случае "след локация")

Надо создать 2d объект и указать триггер. Но как прописать функцию чтобы при прикосновении к объекту появлялась кнопка.
Здравствуйте! Для того, чтобы реализовать вашу задачу, вы можете использовать Unity с коллайдерами и триггерами. Сначала создайте объект со спрайтом кнопки и отключите его, а затем добавьте код, который активирует кнопку при входе в триггер. Вот пример кода, который поможет вам с этим:

Создайте новый 2D объект (например, квадрат или круг) в Unity.
Добавьте компонент "Box Collider 2D" или "Circle Collider 2D" к этому объекту, в зависимости от вашего выбора формы.
Включите флажок "Is Trigger" в компоненте коллайдера.
Создайте объект со спрайтом кнопки, которую хотите отобразить, и установите его активность на "false" в инспекторе.
Создайте новый C# скрипт и назовите его, например, "ShowButtonTrigger".
Откройте скрипт и добавьте следующий код:

 using System.Collections; 
using System.Collections.Generic;
using UnityEngine;

public class ShowButtonTrigger : MonoBehaviour
{
public GameObject button; // Объект кнопки, который вы хотите отобразить

private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player")) // Убедитесь, что ваш игрок имеет тег "Player"
{
button.SetActive(true); // Активирует кнопку
}
}

private void OnTriggerExit2D(Collider2D other)
{
if (other.CompareTag("Player")) // Убедитесь, что ваш игрок имеет тег "Player"
{
button.SetActive(false); // Деактивирует кнопку
}
}
}
Сохраните скрипт и вернитесь в Unity.
Присоедините скрипт "ShowButtonTrigger" к вашему объекту с триггером.
В поле "Button" на компоненте скрипта укажите объект кнопки.
Убедитесь, что ваш игровой объект с тегом "Player" имеет компонент "Rigidbody 2D" с флагом "Is Kinematic" включенным.
Теперь, когда ваш игрок подойдет к объекту с триггером, кнопка должна появиться, и исчезнуть, когда игрок уйдет.
Наиль Бикмаев
Наиль Бикмаев
6 592
Лучший ответ
Создаешь спрайт с 2д коллайдером, дажее на спрайт вешаешь скрипт и пишешь в нем типа OnTriggerEnter2D() и на коллайдере ставишь галочку isTrigger, далее внутри метода OnTriggerEnter пишешь Debug.Log("Trigger"); что бы проверить работает чи не