Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Стычки между ботами. 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.014 c
1-1122372361
serjufa
2005-07-26 14:06
2005.08.14
ак программно из D5 заставить на листе Excel отобразиться сетке


1-1122198127
Shaden
2005-07-24 13:42
2005.08.14
Проблема с разбором XML-файла.


3-1120746705
Pil
2005-07-07 18:31
2005.08.14
получение данных из БД


4-1118755552
AndreyProg
2005-06-14 17:25
2005.08.14
Очистить Рабочий стол


1-1122449889
ChI
2005-07-27 11:38
2005.08.14
определение номера введёного символа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский