Unity2D Стрельба лазерным лучом | Как реализовать?

Программирование на Юнити.

Unity2D Стрельба лазерным лучом | Как реализовать?

Сообщение FirstGameMaker 25 ноя 2019, 10:59

Делаю простенький 2D спайсшутер, но даже с ним у меня проблемы, а именно в том, что я не могу найти не единого урока, где использовали бы райкаст в 2D, поэтому прошу вашей помощи...
FirstGameMaker
UNец
 
Сообщения: 39
Зарегистрирован: 29 апр 2019, 11:57

Re: Unity2D Стрельба лазерным лучом | Как реализовать?

Сообщение 1max1 25 ноя 2019, 11:28

Что нужно то? И как должен вести себя лазер?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Unity2D Стрельба лазерным лучом | Как реализовать?

Сообщение FirstGameMaker 25 ноя 2019, 17:04

1max1 писал(а):Что нужно то? И как должен вести себя лазер?

Ну по моей задумке лазер должен работать так: после того как объект попадает в триггер происходит небольшая задержка, а затем выстрел лучом, и если объект попадает под луч, то у него отнимается Hp. Проблема в том, что я без понятия как реализовать сам луч.
FirstGameMaker
UNец
 
Сообщения: 39
Зарегистрирован: 29 апр 2019, 11:57

Re: Unity2D Стрельба лазерным лучом | Как реализовать?

Сообщение 1max1 25 ноя 2019, 17:14

А зачем рейкаст если у тебя триггер есть?
Синтаксис:
Используется csharp
    float t;
    void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.CompareTag("Player"))
        {
            if ((t += Time.deltaTime) > 2.0f)
            {
                t = 0.0f;
                collision.GetComponent<Player>().hp -= 100.0f;
            }
        }
    }
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Unity2D Стрельба лазерным лучом | Как реализовать?

Сообщение FirstGameMaker 25 ноя 2019, 17:24

1max1 писал(а):А зачем рейкаст если у тебя триггер есть?
Синтаксис:
Используется csharp
    float t;
    void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.CompareTag("Player"))
        {
            if ((t += Time.deltaTime) > 2.0f)
            {
                t = 0.0f;
                collision.GetComponent<Player>().hp -= 100.0f;
            }
        }
    }

Нет, нужно чтобы было видно сам луч: как он вылетает из бластера и тянется по прямой.
FirstGameMaker
UNец
 
Сообщения: 39
Зарегистрирован: 29 апр 2019, 11:57

Re: Unity2D Стрельба лазерным лучом | Как реализовать?

Сообщение seaman 25 ноя 2019, 17:36

seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 4