Показано с 1 по 10 из 11

Тема: Источник проблемы дерганности ивентов?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    У меня такое тоже бывало, например если скорость игроку в маршруте дробную поставить, или в скрипте изменить distance_per_frame , у меня свои большие персонажи в несколько клеток поэтому подбирал более подходящую. Также есть скрипт на плавный ход камеры за игроком, в нём такое же повторяется. Если избавиться от всего перечисленного - баг пропадает. Как вариант - маппить без ивентов, только тайлами, либо как-то с умом маскировать. И для мейкера перемещение прыжками также не стандартное перемещение. Мне видится проблема именно в скролле\центрировании камеры на игроке, где-то в подсчётах скриптов положение ивента\его картинки получается не целым числом и от этого смещение на пиксель.

  2. #2

    По умолчанию

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

  3. #3

    По умолчанию

    Я во всем разобрался. И решил коль уж спрашивал, поделиться результатом.

    Объяснительная часть:
    Ошибка возникает в update_jump при взаимодействии @jump_count с координатами @real_X,@real_y.(Это момент перемещения в прыжке.)
    Так вот это происходит когда @jump_count не входит в [2,4,8,16,32...], а так как @jump_count=@jump_peak*2
    то его значение зависит от distance и @move_speed от сюда и разброс что с одной скоростью на одно кол-во клеток все хорошо, а с другой уже нет.

    Способы решения помимо маскировки и не использования такой графики:
    1) Переписать update_jump я в этом не помощник ибо мне это не нужно
    2) Привести к наиболее вероятным высотам 4,8
    @jump_peak = 10 + distance -@move_speed
    @jump_peak/=4
    @jump_peak*=4
    @jump_peak=[@jump_peak,8].min
    2) Привести к потенциальным 4,8,16
    @jump_peak = 10 + distance -@move_speed
    @jump_peak/=4
    @jump_peak*=4
    @jump_peak=(@jump_peak > 12 ? [@jump_peak,16].max : [@jump_peak,8].min)
    п.с. нет смысла прибегать к бинарным операции
    3) Самый простой задать подходящую высоту и по совместительству длину анимации перехода: @jump_peak = 8
    4) Разделить @jump_peak и @jump_count где приводить уже @jump_count
    5) Привязать к вашим переменным, как одно из значений, так и оба дабы иметь возможность быстра настроить нужные параметры.
    @jump_peak = $game_variables[x]

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Источник проблемы дерганности ивентов?