Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уничтожение объекта в GLScene [Delphi, Windows]


Nafander ©   (2002-08-20 08:38:00) 

При выстреле к объекту TFreeForm летит ракета, когда она его достигает он взрывается(происходит резкое тормажение движение всех объектов), используя эфект взрыва, как мне сделать Destroy этого объекта, но после взрыва?


SI-riuss   (2002-08-24 11:51:00) [1]

Вот я и думаю, что пусть у тебя кораблик будет TActor и во время взрыва будут заданы другие кадры (эффект разлетающегося в куски корабля), а потом пусть летает Груда металла - так реальнее.


Nafander   (2002-08-22 11:26:00) [2]

Да просто космический кораблик, он просто разлетается на куски.
Но эти самые куски-то летят где-то и тормозят всю сцену.


SI-riuss   (2002-08-21 22:57:00) [3]

А зачем тебе убирать объект со сцены? После взрыва ведь всегда что-то остается. Вот и подгрузи это что-то (например модель подбитого танка). Или у тебя ракета с ядерным боезарядом (тогда надо закрывать программу вообще нафиг и инициировать ошибку виндоус)? Или ракета попадает по муравью? :)


Владимир Васильев   (2002-08-20 11:57:00) [4]

как и всегда просто ***.Free
Далее вызовется переопределённый Destroy к-торый освободит всё связанное c уничтожаемым объектом :

destructor TGLBaseSceneObject.Destroy;
begin
DeleteChildCameras;
FreeMem(FAbsoluteMatrix, SizeOf(TMatrix)*2);
FGLObjectEffects.Free;
FGLBehaviours.Free;
FListHandle.Free;
FPosition.Free;
FRotation.Free;
FDirection.Free;
FUp.Free;
FScaling.Free;
FSortDistList.Free;
FSortObjList.Free;
if Assigned(FParent) then FParent.Remove(Self, False);
if FChildren.Count>0 then DeleteChildren;
FChildren.Free;
inherited Destroy;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо