Форум: "Игры";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизСтычки между ботами. Glscene Найти похожие ветки
← →
Trof © (2005-04-23 12:04) [0]Использую Glactor и загружаю его из smd, нужно чтобы когда actor подходит к какому-то персонажу грузится анимация атаки (мечом) и
когда текущий фрайм = последнему, то у того персонажа отбираются жизни.procedure Tlifeobject.attack(obj : tglbasesceneobject);
Всю эту процедуру я пихаю в Cadencer, но вот в чём проблема - у obj никогда не отбирается ровно 10 жизней а почему-то иногда 20,30 или даже 50. В чём проблема?
var
sdf: TAffineVector;
begin
with form1 do begin
button1.Caption:=self.Parent.Name;
if distanceto(obj) < 10 then begin
if baseAnimation<>"attack" then begin
baseAnimation:="attack";
SwitchToAnimation(baseAnimation,true);
SetStartFrame(1);
setendframe(100);
end;
self.Parent.PointTo(obj,NULLHmgVector);
if CurrentFrame=endframe then begin
obj.life:=obj.life-10;
end;
end else begin
if baseAnimation<>"walk" then begin
baseAnimation:="walk";
SwitchToAnimation(baseAnimation,true);
end;
self.Parent.PointTo(obj,yHmgVector);
sdf[2]:=100;
GetOrCreateDCEDynamic(self.Parent).ApplyAccel(sdf);
end;
end;
end;
← →
DeadMeat © (2005-04-23 13:14) [1]Во первых - отформатируй код нормально.. А невозможно читать..
Во вторых - попробуй вif CurrentFrame=endframe then begin
останавливать анимацию.. Резко и сразу. И смотри что это была за анимация по имени.
Может так поможет... Но не уверен.
---
...Death Is Only The Begining...
← →
Trof © (2005-04-23 15:42) [2]Всё я понял -
if CurrentFrame=endframe then begin
obj.life:=obj.life-10;
CurrentFrame:=1;
end;
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c