Текущий архив: 2003.02.06;
Скачать: CL | DM;
ВнизУничтожение объекта в GLScene Найти похожие ветки
← →
Nafander (2002-08-20 08:38) [0]При выстреле к объекту TFreeForm летит ракета, когда она его достигает он взрывается(происходит резкое тормажение движение всех объектов), используя эфект взрыва, как мне сделать Destroy этого объекта, но после взрыва?
← →
Владимир Васильев (2002-08-20 11:57) [1]как и всегда просто ***.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;
← →
SI-riuss (2002-08-21 22:57) [2]А зачем тебе убирать объект со сцены? После взрыва ведь всегда что-то остается. Вот и подгрузи это что-то (например модель подбитого танка). Или у тебя ракета с ядерным боезарядом (тогда надо закрывать программу вообще нафиг и инициировать ошибку виндоус)? Или ракета попадает по муравью? :)
← →
Nafander (2002-08-22 11:26) [3]Да просто космический кораблик, он просто разлетается на куски.
Но эти самые куски-то летят где-то и тормозят всю сцену.
← →
SI-riuss (2002-08-24 11:51) [4]Вот я и думаю, что пусть у тебя кораблик будет TActor и во время взрыва будут заданы другие кадры (эффект разлетающегося в куски корабля), а потом пусть летает Груда металла - так реальнее.
Страницы: 1 вся ветка
Текущий архив: 2003.02.06;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c