| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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? Хотя по описанию - нет. Блин Ладно, буду смотреть |
| Автор: SABROG 18.3.2008, 18:16 |
| |
| Автор: bsa 18.3.2008, 18:43 |
| Rickert, а что по твоему должна делать функция refresh? |
| Автор: Rickert 19.3.2008, 11:55 |
| bsa, очищать экран и перерисовывать то, что ей будет указано |
| Автор: bsa 19.3.2008, 12:59 |
| Там есть аналог этого refresh, SDL_UpdateRect(), кажется зовется. Она выполняет обновление указанной зоны на экране. |
| Автор: Rickert 20.3.2008, 03:58 |
| bsa Ты прав, но она и она действительно рефрешит область, но дело обстоит так: 0) У тебя есть базовая плоскость, которая инициализирует окно и ты на неё blit'ишь все изображения (по сути - лепишь поверх). 1) Если ты рефрешьнешь её updateRect() - то ты обновишь окно, но отblit'аные изображения никуда не денятся, потому что они прилеплены. Вообщем- ладно, я просто заливаю всё цветом фона и перерисовываю заново. |