получается реализовать движение (((
Схема такая:
SDL_CreateWindow
SDL_GetWindowSurface
SDL_FillRect (заливка всего экрана цветом)
SDL_LoadBMP
SDL_BlitSurface
//в цикле отлавливаю нажатия wasd клавиши и меняю xy коордиданы у SDL_Rect
затем в этом же цикле
SDL_Delay(100);
SDL_BlitSurface
SDL_UpdateWindowSurface
При этом картинка bmp двигается от нажатия клавиш, но на старом месте не изчезает и она как-бы размазывается.
Подскажите пожалуйста как реализовать движение чтобы картинка не размазывалась?
В начале каждого цикла производить заливку экрана.
Аааааа! Вот это? SDL_FillRect
Ага. Если в общих чертах, то логика такая, что для каждого кадра тебе необходимо формировать цельное изображение (т.е. задействуя все пиксели на экране), в твоём случае достаточно обычной заливки.
Ну только вначале кнопочку считал, потом залил, потом отрисовал свою картинку в новых координатах. А то у тебя во время ожидания нажатия только заливка будет))
Большое спасибо! Попробую веером :)
Сделай клир в начале кадра
А как эта команда выглядит? Я просто не видел такую.
SDL_RenderClear();
Большое спасибо!
Обсуждают сегодня