Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.14;
Скачать: 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 вся ветка

Текущий архив: 2005.08.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
14-1121848754
|imp|
2005-07-20 12:39
2005.08.14
Факс на delphi


1-1122534545
Karluha
2005-07-28 11:09
2005.08.14
Interface ID


4-1118401293
Андрей Жук
2005-06-10 15:01
2005.08.14
Неверный результат работы функции


1-1122021165
Profik
2005-07-22 12:32
2005.08.14
FastNet


3-1120471111
Yurisimus
2005-07-04 13:58
2005.08.14
Верхний регистр в ADOQuery