движение врага и его преследование игрока

SFML и C++ Уроки \ Разработка игр Форумы Логика игр движение врага и его преследование игрока

В этой теме 5 ответов, 2 участника, последнее обновление Павел Букреев Павел Букреев 2 года/лет, 11 мес. назад.

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Автор
    Сообщения
  • #1855

    lenarano
    Участник
    Сообщений:3

    Зарегистрирован:
    16.10.2015

    Репутация:0

    Ребята, помогите с движением врагов по карте и их взаимодействием с героем. Мне нужно, что бы они двигались как в пакмане, а у меня получились “тормоза”. Сначала вроде начинают двигаться, а потом, когда соприкасаются со стенкой замирают и не двигаются пока не подойдет герой, потом начинают его преследовать.
    Это мой класс враг

    А это в функции main кусочек кода где расписан алгоритм обнаружения и преследования.

    #1857

    lenarano
    Участник
    Сообщений:3

    Зарегистрирован:
    16.10.2015

    Репутация:0

    И еще хотела спросить, когда мои враги взаимодействуют с друг другом и вид опять таки не как в платформере, а вид сверху как змейка, пакман нужно ли что-то менять здесь, а то они периодически, если соприкасаются начинают “плясать” друг на друге и никак не могут разойтись.

    #1859
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:586

    Зарегистрирован:
    04.01.2015

    Репутация:104

    код из танчиков на сфмл, там zq в update было дико не красиво , не думал, что дойдёт до кого-то код))

    враги замирают потому, что упираются в стену , если игрок за ней. попробуй прописать в ф-ции checkCollisionWithMap смену направления врага, при столкновении со стеной.

    #1916

    lenarano
    Участник
    Сообщений:3

    Зарегистрирован:
    16.10.2015

    Репутация:0

    вот интересно, если использовать Tiled Map, как с ним подружить волновой алгоритм? Или какой алгоритм с использованием TiledMap подойдет для умный врагов? Просто если брать тотже волновой алгоритм , то он завязан на том, что мы создаем аналогичную карту этой. А как это реализовать с TiledMap? Может кто видел именно для использования TiledMap и для варианта как в игре с пакманом?

    #1995

    lenarano
    Участник
    Сообщений:3

    Зарегистрирован:
    16.10.2015

    Репутация:0

    Решила использовать алгоритм поиска пути. Начала с того что на прорисовке карты сразу указала G и S
    if (map->TileMap[i][j] == ‘G’) s_map.setTextureRect(sf::IntRect(65,1380, 32, 32));//герой
    if (map->TileMap[i][j] == ‘S’) s_map.setTextureRect(sf::IntRect(0,1186, 32, 32));//враг
    if (map->TileMap[i][j] == ‘+’) s_map.setTextureRect(sf::IntRect(960,96, 32, 32));//путь
    Реализовала алгоритм в классе map поиска пути и получилась такая картина как во вложении. Т.е. все работает и поиск работает.

    Теперь хочу передавать координаты игрока и врага и прорисовывать на карте в этом месте ‘G’ ‘S’. Соответственно уже будет прокладываться дорожка к реальным персонажам.
    Реализация игры такая же как в кодах на сайте через двумерный массив. В классе Main в обработчике событий пытаюсь передать эти координаты, но возникает ошибка. Как это исправить?

    Вложения:
    You must be logged in to view attached files.
    #2002
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:586

    Зарегистрирован:
    04.01.2015

    Репутация:104

    не очень понятно про main класс, ты же не на джаве пишешь, по коду видно.

    и что за ошибка возникает при этом?

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)

Для ответа в этой теме необходимо авторизоваться.