Вторник, 17 Июля 2018, 06:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » 2D-движки для создания игр » LibGdx. RayCast
LibGdx. RayCast
FlyOfFlyДата: Воскресенье, 22 Апреля 2018, 03:28 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Моя цель состоит в том, что бы проверить попадает ли игрок в поле зрение. Если с углом обзора проблем нет, то вот с проверкой: есть ли преграды между игроком и врагом есть. Для того что бы это проверить, я в время теста сначала пускаю лучу в направление игрока:

Код
       

        isView = false;
        model!!.body!!.world.rayCast(this, position, playerPos);
        if(isView) {
         //идём в сторону врага
       }

А потом проверяю объект с которым столкнулся луч, есть ли луч столкнулся с игроком, то следовательно враг видит игрока
Код
   override fun reportRayFixture(fixture: Fixture, point: Vector2, normal: Vector2, fraction: Float): Float {
        isView  = (fixture === player!!.fixture)
        return 0.0f;
    }

Но, враг не видит box2D объекты и думает что всегда видит игрока


Вам нужен программист или помощью с частью проекта или задание на C# или Java, тогда я тот кто вам нужен. Вот мое резюме
Если вам нужна команда, то Conveyor ideas, готова выполнять ваши заказы по созданию пиксель-арт игр.
last2424Дата: Воскресенье, 22 Апреля 2018, 11:48 | Сообщение # 2
30 мл. блоков
Сейчас нет на сайте
Ну, ты пускаешь луч от позиции врага до позиции игрока, не?
Конечно он всегда будет его видеть.


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)

Сообщение отредактировал last2424 - Воскресенье, 22 Апреля 2018, 11:49
FlyOfFlyДата: Воскресенье, 22 Апреля 2018, 17:05 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Цитата last2424 ()
Ну, ты пускаешь луч от позиции врага до позиции игрока, не?
Конечно он всегда будет его видеть.

Так, суть RayCast как раз в том. что если на пути луча есть препятствие, то он должен остановиться и в fixture передать этот объект. Разве нет?

Добавлено (22 Апреля 2018, 17:05)
---------------------------------------------
ОБОЖАЮ ДОКИ, вот просто обожаю
Функция должна возвращать 1, что бы остановить луч, а теперь лезем в доки:

Код
-1 to filter, 0 to terminate, fraction to clip the ray for closest hit, 1 to continue

КАКОГО ?


Вам нужен программист или помощью с частью проекта или задание на C# или Java, тогда я тот кто вам нужен. Вот мое резюме
Если вам нужна команда, то Conveyor ideas, готова выполнять ваши заказы по созданию пиксель-арт игр.
Форум игроделов » Движки для разработки игр и сложные системы разработки » 2D-движки для создания игр » LibGdx. RayCast
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг