SDL - о движении персонажа - PullRequest
       4

SDL - о движении персонажа

1 голос
/ 22 сентября 2011

Я хочу спросить о перемещении персонажа в SDL

от lazyfoo.com. Есть учебник, который объясняет движения и из того, что я прочитал, я заключаю, что это шаги к движению объекта

  1. Обнаружены события
  2. установить новые координаты на основе событий
  3. сделать экран белым (SDL_FillRect ())
  4. Затем нарисовать объект с новыми координатами (applySurface())

Моя проблема в том, что я использую 2D-карту, основанную на плитке (не белая поверхность), и я обеспокоен на этапе № 3 .... как сохранить картуво время перемещения персонажа ?? (без отбеливания экрана)

Буду очень признателен, если кто-то сможет выложить коды

THX

Ответы [ 2 ]

0 голосов
/ 15 сентября 2013

Что вы можете сделать, это вместо того, чтобы сделать экран белым, за пределами основного цикла while вы BlitScreen или FillRect с вашей картой вместо того, чтобы делать это каждый кадр. Также для экономии памяти вы можете попробовать ограничить FPS.

0 голосов
/ 22 сентября 2011

Вы хотите изменить положение игрока без необходимости перерисовывать карту?

Если ваша карта не очень сложная, вы сможете перерисовывать ее каждый кадр.

Если онаЕсли вы работаете на медленной машине, вы можете выполнить следующую оптимизацию: В начале программы нарисуйте карту на отдельной поверхности.Каждый кадр вместо очистки экрана и перерисовки карты, просто скопируйте эту поверхность на экран.Копирование поверхностей выполняется почти так же быстро, как и их очистка.

...