Показать сообщение отдельно
Старый 26.04.2012, 01:54   #43
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Внедрение стартого меню

Мало написал. Я не знаю в чем заключается твое непонимание данной проблемы...
Просто очищаешь все что есть только в этом уровне (модели, рисунки текстуры, звуки и т.д.)
Припустим есть у тебя пару типов:
Type Enemy
Field Mesh
Field X
,Y,Z
End Type

Type Inventar
Field ItemImage
Field ItemId
End Type 
Ты в игре наделал кучу типов и теперь нужно вызвать ClearLevel()
Пишем:
Function ClearLevel()
     For 
all.Enemy=Each Enemy
          
;И такМы запустили циклкоторый переберет абсолютно все
          
;ячейки типа EnemyОбрати вниманиеслово "all" всево лишь
          
;указатель на этот типМожешь использовать любое другое слово.
          ;
Как видишь в списке у нас хранится модель по адресуall/mesh
          
;Перед тем как очиистить тип от адресов и переменных нам нужно
          
;Удалить саму модельа потом уже удалять к ней адрес.
          
FreeEntity all/mesh
          
;А теперь можем смело удалять весю ячейку типаПеременные
          
;Удалятся из памяти самиА делать надо так
          Delete all
          
;Цикл будет повторятся столько разсколько у тебя ячеек в списке
          
;И удалит абсолютно все ячейки списка.
     
Next

     
;Остался еще один список Inventarв котором для каждого Итема
     
;Хранится рисунокДелаем почти то же самое:

     For 
LyboeImya.Inventar=Each Inventar
          FreeImage LyboeImya
/ItemImage ;Вместо модели удаляем рисунки.
          
Delete LyboeImya
     Next
End 
Function 
Короче, все что не является переменными нужно удалить отдельно вызовом специального оператора. Ибо вызвав команду Delete - ты не удалишь все модели, ты удалишь только адреса на них. После чего удаление этих самых моделей станет возможным только вызовом:
ClearWorld [entities][,brushes][,textures]

В этом заключалась проблема?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Devilox (26.04.2012)