Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Поменять изображение на поверхности   Найти похожие ветки 

 
parovoZZ ©   (2005-03-26 19:09) [0]

А как поменять изображение на поверхности в Jedi_SDL? Если через пересоздание оной, то игра начинает жрать лишние ресурсы. Как быть?


 
П7   (2005-03-27 22:12) [1]

наверное лучше сделать 2 поверхности... Это я так, интуитивно, с Jedi_SDL не знаком, но там вроде DirectDraw под виндой используется...


 
parovoZZ ©   (2005-03-29 09:49) [2]

А если фоновых изображений десять, то 10 поверхностей создавать?


 
П7   (2005-03-29 12:39) [3]

А зафигом тебе 10 фоновых сразу нужны?


 
parovoZZ ©   (2005-03-29 23:07) [4]

Так вот и о чём. Есть 10 фонов, их надо менять, но как? На одну и ту же поверхность. Но после уничтожения поверхности не вся память освобождается.


 
П7   (2005-03-30 01:01) [5]

Что за чушь? Нафиг она тогда вообще такие поверхности нужны? Я не могу ответить на твой вопрос, тут скоре структурная проблема...


 
parovoZZ ©   (2005-03-31 04:24) [6]

В смысле чушь? Есть 10 картинок. На одном раунде одна картинка, на другом другая. Реализуется, но я не понимаю, почему память не освобождается.


 
parovoZZ ©   (2005-04-07 09:08) [7]

Гы. Короче, во всём оказался виноват SDL_FormatDisplay.


 
Magikan ©   (2005-04-07 10:37) [8]

Очень просто. При загрузке изображения в поверхность (через SDL_LoadBMP или IMG_Load), процедура загрузки выделяет для поверхности память. Для ее (памяти) освобождения нужно использовать SDL_FreeSurface. А затем в нее можешь загружать следующее изображение.


 
parovoZZ ©   (2005-04-07 10:58) [9]

Фича в чём была: для загрузки изображения надо применять временную поверхность : Temp := (), после чего Surface := ), а вот потом уже удалить Temp. Если делать так,  как я сперва делал: Surface := IMG_Load ()
Surface := SDL_FormatDisplay(Surface)
, то часть памяти не освобождается до конца работы программы.


 
parovoZZ ©   (2005-04-07 10:59) [10]


> после чего Surface := ),

Имелось ввиду Surface := SDL_FormatDisplay(Surface)



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.082 c
9-1112638214
JockerColl
2005-04-04 22:10
2005.07.18
Физика "прыжка"


1-1120106993
Revers
2005-06-30 08:49
2005.07.18
RichEdit портит текстовый файл


14-1119891055
Knight
2005-06-27 20:50
2005.07.18
Зашёл тут на WWW.ИСХОДНИКИ.РУ...


14-1119469369
TJLEXX
2005-06-22 23:42
2005.07.18
Управление питанием


9-1112803576
Sis3
2005-04-06 20:06
2005.07.18
Как распечатать картинку созданную в OpenGl