Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > SDL: "отобдрать" каритнку


Автор: Rickert 18.3.2008, 09:07
SDL_BlitSurface для одной картинки на поверхность окна сделал. В какой-то момент она мне больше не нужна. Как убрать её отображение?
Вариант "запомнить пиксели позади неё и потом наложить их сверху" не пойдёт.

Автор: bsa 18.3.2008, 12:28
Rickert, построить сцену за ней заново.
Вообще-то, наиболее быстрый вариант - запомнить то, что было за ней до ее вывода.

Автор: Rickert 18.3.2008, 13:57
bsa, неужели нет функции аля refresh? smile 
Хотя по описанию - нет.
Блин smile 
Ладно, буду смотреть smile 

Автор: SABROG 18.3.2008, 18:16
 smile Ты уж определись что ты хочешь сделать, отодрать картинку или ободрать  smile 

Автор: bsa 18.3.2008, 18:43
Rickert, а что по твоему должна делать функция refresh?

Автор: Rickert 19.3.2008, 11:55
bsa, очищать экран и перерисовывать то, что ей будет указано smile

Автор: bsa 19.3.2008, 12:59
Там есть аналог этого refresh, SDL_UpdateRect(), кажется зовется. Она выполняет обновление указанной зоны на экране.

Автор: Rickert 20.3.2008, 03:58
bsa
Ты прав, но она и она действительно рефрешит область, но дело обстоит так:
0) У  тебя есть базовая плоскость, которая инициализирует окно и ты на неё blit'ишь все изображения (по сути - лепишь поверх).
1) Если ты рефрешьнешь её updateRect() - то ты обновишь окно, но отblit'аные изображения никуда не денятся, потому что они прилеплены.
Вообщем- ладно, я просто заливаю всё цветом фона и перерисовываю заново.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)