как ужиться со сборщиком мусора Lua ?
От: Troglodit  
Дата: 03.10.08 22:37
Оценка:
Есть у меня Lua скриптец работающий в связке с С++ (через mLuabind) который получает вначале менеджер спрайтов, затем этим менеджером создает кучу спрайтов и устанавливает их в нужную позицию. При создании спрайтов менеджером они вносятся в массив и там хранятся.


    obj = {}  
    StaticSpriteManager=getMgr();  
      
    for v = 1, 4000, 1 do   
      local obj= StaticSpriteManager.createStaticSprite();  
      obj.setPosition(400,300);  
    end



Проблемма в том что эти спрайты начинают сразу же удаляться, еще до завершения работы скрипта.
Как я понимаю это происходит потому, что в obj прописался новый спрайт, а прежний потерял все ссылки
(вот прежний и удаляется).

Вопрос — нормальное ли это поведение Луа (может у меня что-то заглючило)
иесли да то как с этим мириться? Тоесть в данной ситуации мне вовсе не надо чтобы спрайты удалялись,
и может быть вообще ситуация когда я решу готовый массив спрайтов подвигать скриптом, так что они там тоже удалятся?
Это же никуда не годится.

Помогите плиз разрулить.

11.12.08 22:34: Перенесено модератором из 'Прочее' — der Igel
lua сборщик мусора garbage
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.