Главная страница
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.027 c
14-1119723874
Иксик
2005-06-25 22:24
2005.07.18
Как легче всего доехать из Москвы в Питер?


1-1119806503
Ландграф Павел
2005-06-26 21:21
2005.07.18
свернуть/развернуть программно


4-1116584355
aleshap
2005-05-20 14:19
2005.07.18
WIN <-> DOS


3-1118048953
вп
2005-06-06 13:09
2005.07.18
Создание запроса или ХП как альтернатива временной таблице


1-1120146335
Belkova
2005-06-30 19:45
2005.07.18
Разрешение экрана