Это не вопрос вкуса, это вопрос дизайна
Идеальное движение на 1 точку за фрейм
Медленнее медленно,
Быстрее быстро.
Если героя смещать на 2 точки то идеально будет выглядеть смещение раз в 2 фрейма.
Вид для печати
Нужно сразу определиться с максимальным количеством врагов на экране и сколько ты реально можешь вывести за фрэйм. Далее как я писал выше можешь чередовать их вывод чет-нечет чтобы удвоить кол-во выводимых объектов. В самом прерывании инкриментируй счетчик который проверяешь перед апдейтом. (если объектов мало - ждешь среднего значения которое вычислил экспериментально.. тогда никакое турбо не ускорит).
- - - Добавлено - - -
Счетчик покажет тебе сколько прерываний занимает игровой цикл... если меньше -ждешь.
- - - Добавлено - - -
Да и естественно выводим (в прерывании) только объекты которые сдвинулись. Тогда все будет ОК.
- - - Добавлено - - -
На экран выводи хотя бы счетчик игрового цикла .. тогда будет понятна динамика между экранами (примерно).
Я не шарю, но что если для "недостающих" врагов выводить "пустой" спрайт?
Зачем??? Ты же разделил основной цикл игры и прерывание - в основном цикле мнеяешь в списке состояние, а в обработчике прерывания ..выводишь.
Зачем тратить лишнее время... как в глупых книжках :) (обязательно нужно перерисовать все... будет лагать.. Мы же пишем ШЕДЕВР :))
Действительно, зачем тратить процессорное время на перерисовку пустых спрайтов (отсутствующих врагов), когда можно значительно эффективнее потратить его (лишнее время) на ожидание флага синхронизации времени/скорости...
Или это был сарказм, про тратить лишнее время?
Тогда пардон, я его не понял...
Black Cat / Era CG, S_V_B, KTSerg, metamorpho,
стоп стоп стоп, итак как вариант. каждый фрейм рисуем ГГ + часть врагов - чтобы хватило на фрейм
допустим максимальное количество врагов получается x/y=3 фрейма.
значит движем героя со скоростью 1 точка во фрейм(но выводим с точностью до 2х точек). а все враги движутся в 1.5-3 раза медленнее чем ГГ.
- - - Добавлено - - -
Хотя конечно я бы предпочел асинхронный вывод и обработку врагов на прерывании.
Сделал новый объект - птичку, вставил графику + добавил ещё немного другой графики и памяти уже нету.
rom получился больше 32 Кб и при запуске завис. Как-то я нерасчитал :)
Придётся либо птичку убрать либо что-то другое что хотел внедрить в игру.
См. (rom) с птичкой для истории :) (похоже птичку уберу - слишком много весит).