Вниз
Скачать: CL | DM;

Стычки между ботами. Glscene   Найти похожие ветки 

 
Trof ©   (2005-04-23 12:04) [0]

Использую Glactor и загружаю его из smd, нужно чтобы когда actor подходит к какому-то персонажу грузится анимация атаки (мечом) и
когда текущий фрайм = последнему, то у того персонажа отбираются жизни.
procedure Tlifeobject.attack(obj : tglbasesceneobject);
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;
Всю эту процедуру я пихаю в Cadencer, но вот в чём проблема - у obj никогда не отбирается ровно 10 жизней а почему-то иногда 20,30 или даже 50. В чём проблема?


 
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
3-1120572235
Dwen
2005-07-05 18:03
2005.08.14
вызов из базы данных информации


5-1092989057
Igor_S
2004-08-20 12:04
2005.08.14
Нужна реализаци компонента с регулируемой прозрачностью


14-1121068350
msguns
2005-07-11 11:52
2005.08.14
Руслана в Запорожье


4-1118688330
Суслик
2005-06-13 22:45
2005.08.14
Переменная окружения Path


1-1122017906
stud
2005-07-22 11:38
2005.08.14
обратиться к потоку в рантайм




   Наверх