Цикл взаимодействия с картой.

SFML и C++ Уроки \ Разработка игр Форумы Логика игр Цикл взаимодействия с картой.

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

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

    Maksim
    Участник
    Сообщений:4

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

    Репутация:0

    Не понимаю, как работает условие цикла, подставлял координаты, внешний цикл делает всегда одну итерацию, а вот внутренний цикл работает, хотя не должен, его условие не выполняется изначально, по моим расчетам.( w = 25, h = 37. Допустим, координата x = 3 и в условие цикла после вычислений – (j<(x + w) / 65) получается 3, по идеи же он вообще не должен проверять тело, т.к. условие изначально не выполнено. Но все нормально работает, кто разобрался, объясните пожалуйста как все это дело получается?)

    #4710

    tobidashi
    Участник
    Сообщений:16

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

    Репутация:7

    Как я понимаю, цикл будет выполняться, только если спрайт персонажа пересёк границу тайла карты. Если персонаж находится строго внутри тайла карты вдоль оси x (соответственно, y), то проверка коллизий по оси x (соответственно, y) не проводится, что , в принципе, логично.

    #4711

    Maksim
    Участник
    Сообщений:4

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

    Репутация:0

    Ну как я считал, где бы персонаж не находился, условие 2-ого цикла не выполняется, но все нормально работает, не понимаю, может я ошибся или неправильно считал, но это вряд ли

    #4712

    tobidashi
    Участник
    Сообщений:16

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

    Репутация:7

    Если, например, x = 64 и w = 5, то цикл по j выполнится как минимум один раз. Вообще, чтобы не гадать, почему цикл выполняется, можно просто посмотреть, чему равны значения всех переменных до начала цикла и во время его исполнения.

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

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