Вниз
Скачать: 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.023 c
1-1122222124
Galiaf
2005-07-24 20:22
2005.08.14
Обновление приложения.


9-1114182546
[EViL]
2005-04-22 19:09
2005.08.14
Проблемы с выстрелами, а вернее, с убийством себе подобных.


1-1122443062
Legion89
2005-07-27 09:44
2005.08.14
Задание цвета текста в RichEdit


14-1121857204
dreamse
2005-07-20 15:00
2005.08.14
Конвертировать с C в Delphi


4-1119589264
Dot
2005-06-24 09:01
2005.08.14
Sound Off




   Наверх