Пересечение персонажа с отрезком.

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

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

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

    jtag_
    Участник
    Сообщений:1

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

    Репутация:1

    Здравствуйте. При создании в tiled  отрезка в слое Collision, игра выдает ошибку. Дело в том что мне нужно чтоб персонаж бежал по диагонали на горку. Прямоугольники созданные в tiled, не дают такого эффекта. Как быть? Что можете посоветовать? Может  мне попытаться написать функцию распознования и  пересечения многоугольников или она уже есть?

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

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

    Репутация:103

    Привет:)

    найди урок от Famtrinli на ютубе “Платформер”, там с тайлами и вроде была ходьба по диагонали в исходниках

    #3572
    +1

    jtag_
    Участник
    Сообщений:1

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

    Репутация:1

    Спасибо, посмотрел видео, разобрался, написал условия, на фронт и спад. Добавил ниже, может кому понадобится.

    if (obj[i].name == “slope_right”)
    {
    float slp_right = (x + w / 2 – obj[i].rect.left)*obj[i].rect.height / obj[i].rect.width + obj[i].rect.top – h;
    if ((Dy>0) && (y>slp_right)) { y = slp_right; dy = 0; onGround = true; }
    }
    if (obj[i].name == “slope_left”)
    {
    float slp_left = -y*x/y+obj[i].rect.height+2*obj[i].rect.top;
    if ((Dy>0) && (y>slp_left)) { y = slp_left; dy = 0; onGround = true; }
    }

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

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

    Репутация:103

    Спасибо , пригодится кому-нибудь :)

    В след раз только используй кнопку “Вставить Код”

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

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