Нужна помощь с взаимодействием с картой

SFML и C++ Уроки \ Разработка игр Форумы SFML System, Window и другие вопросы Нужна помощь с взаимодействием с картой

В этой теме 12 ответов, 3 участника, последнее обновление  modest 1 год назад.

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

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    Нужна помощь с взаимодействием с картой, у меня карта рисуется с 330 по х до  955(5 квадратиков по 125 шириной, общая ширина 625). И рисуется с низу на вверх, высота одного квадратика(тайлика) 180, размер игрока(машинки) ш 115 высота 180

    Машинка игрока постоянно едет вверх(-dy)

    Так выглядит проверка

    Так выглядит карта

    Так вот, проблема в том что когда появляться “препятствие” в виде одного кубика когда его объезжаю все равно проехать дальше не могу, срабатывает условие и я “останавливаюсь”, а должен проехать дальше так как объехал. И так же не упирается в правую грань карты, в левую я сделал работает.

    Вот скриншоты

     

    Вложения:
    You must be logged in to view attached files.
    #2424
    Heisenberg
    Heisenberg
    Участник
    Сообщений:314

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

    Репутация:139

    Возможно край машины цепляет тайл с препятствием.

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

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

    Репутация:103

    Привет, спасибо, что написали на форум и хорошо оформили вопрос со всеми вложениями. Сегодня приболел неожиданно, валяюсь теперь.. Бегло глянул вопрос – первая мысль как в ответе ниже – возможно машинка по высоте и ширине чуть больше, чем видит игрок. за счет этого происходит невидимая коллизия и застревание.
    насчет второго вопроса

    не совсем понятно зачем тут вычитаете 450

     

    #2426

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    Машинка объект 115 шириной 180 высотой, а в спрайте машинка еще меньше, вокруг прозрачная область.

    а я не знаю почему отнимал, все варианты пробовал

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

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

    Репутация:103

    в фотошопе убери эту прозрачную область лишнюю, она мешает. или программно измени (урок про вывод участка изображения на экран).

    а вот так попробуй со стенкой правой (пример выше)

     

    #2428

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    Со стенкой делал так не помогало. Буду дома гляну возможно дело в intRect

    #2429

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    вообщем пробовал объект меньше делать и его анимацию соответственно, не помогло, просто уже даже не знаю, может условие циклов не верно, не знаю

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

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

    Репутация:103

    да, цикл вызывает подозрение. плюс не понятно зачем делишь на отрицательное значение 180

    посмотри в уроке было так:

     

     

    #2431

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    если не делать отрицательное деление 180, то тогда нету никакого взаимодействия, выезжает за левую сторону и не упирается об “препятствие”, у меня же карта рисуется с низу вверх, каждый тайлик на -180 выше

    #2434

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    Поменял в цикле

    на
    int j=x/330; // 330 это та координата х когда начинается рисоваться карта

    Начал проезжать некоторые препятствия но некорректно, а левая грань(тайлик с желтыми линиями) перестал сдерживать машинку и меня отталкивать начало только с х 330, то есть с начала тайлика с линиями

    Вот скриншоты тут все понятно

    скриншот 5
    скриншот 6

    Вложения:
    You must be logged in to view attached files.
    #2441

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    Вообщем, передвинул карту влево, машинку игрока уменьшил и заработало, конечно не то что хотелось но и так хорошо

    Тема закрыта

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

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

    Репутация:103

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

    #2445

    modest
    Участник
    Сообщений:7

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

    Репутация:0

    Довольно таки годный вариант, можно подумать. Но думаю потом еще насобираю костылей)

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

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