[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


Страница 1 из 11
Модератор форума: Spidy, turBO, blitz3d 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Элементарщина, поставившая в тупик (удалить элемент типа)
Элементарщина, поставившая в тупик (удалить элемент типа)
Andrew_00001Дата: Воскресенье, 23.09.2012, 13:58 | Сообщение # 1
ламер
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Проблема собственно в том, что не могу удалить элемент типа.
Суть кода:
создаю через каждые полсекунды геометрические фигуры, которые принадлежат типу Cube.
затем в главном цикле проверяю время жизни каждой фигуры и хочу удалить ее, если существует больше 10 секунд с помощью стандартной (описанной в куче примеров) процедуры:
For SS.Сube = Each Cube
tt=xMillisecs()-SS\time
If tt>10000 Then Delete SS
Next

и тишина... ничего не удаляет

пробовал уже удалить все по нажатию Space:
If xKeyDown(57)
For SS.Cube = Each Cube
Delete SS
Next
EndIf
опять тишина...
Delete Each Cube - та же картина
у меня Хors3D, если заметили.
Понимаю, что вещь элементарная, но никак не могу понять в чем дело

Добавлено (23.09.2012, 13:58)
---------------------------------------------
Разобрался, оказывается нужно кроме элемента типа удалять еще и его мэш с помощью ФриЭнтити.
Но возникла вторая проблема - периодически ловлю МАВ, и дебугер указывает на строчку, где я удаляю мэш элемента с помощью ФриЭнтити. Может кто подскажет?

 
SpidyДата: Воскресенье, 23.09.2012, 16:40 | Сообщение # 2
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
так, не глядя на код сложно сказать.

очевидно ты пытаешься выполнить ФриЭнтити на уже удаленном объекте. проверь правильный ли ты объект пытаешься удалить/очистить


Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
 
Andrew_00001Дата: Воскресенье, 23.09.2012, 23:59 | Сообщение # 3
ламер
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Да, ты прав, я там удалял фигуру после выстрела по ней.
Пришлось делать проверку на существование, но как-то через попу (простой проверкой на неравенство хэндла элемента или его мэша нулю не получилось). Добавил поле, в него ложил хэндл элемента и потом это поле уже проверял на неравенство нулю). Да, и после удаления приравнивал это поле нулю.
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Элементарщина, поставившая в тупик (удалить элемент типа)
Страница 1 из 11
Поиск: