forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Смена Анимации. (http://forum.boolean.name/showthread.php?t=10338)

Ganociy 18.11.2009 13:33

Смена Анимации.
 
Вот смотрите , давно уже меня эта проблема терроризирует. Дано две анимации для зомби : бег , атака.
Если расстояние между игроком и зомби =<5, то анимировать зомби атака.
Иначе если расстояние между игроком и зомби >5, то анимировать зомби ходьба.
Вот у меня происходит зацикливание на анимации атака и дальше не хочет
анимировать ходьбу . Эта проблема возникла ещё очень давно.

P.S. Если есть ссылки на примеры с исходниками буду рад! Или ссылка на тему в форуме.

IGR 18.11.2009 13:43

Ответ: Смена Анимации.
 
ты привязываешься со всем не к тому !! :stop:
что главнее ?? состояние в котором сейчас бот (атака преследование ходьба побег) или какая анимация у него счас проигрывается ??

нада функа типа SwitchBotState, которая меняет состояние бота !!
а в этой уже функе меняешь анимацию бота и все остальное что те нужно !!
а эта функа будет вызывается когда бот приблизился на 5 к персу !!

Nex 18.11.2009 13:49

Ответ: Смена Анимации.
 
Ganociy, > http://forum.boolean.name/showthread.php?t=8250
IGR, +1

Ganociy 18.11.2009 14:00

Ответ: Смена Анимации.
 
IGR , а что это за фун-ия SwitchBotState

IGR 18.11.2009 14:15

Ответ: Смена Анимации.
 
ну ее самому нада написать !! ;)
Код:

Function SwitchBotState()
;
;
End Function


NitE 18.11.2009 16:44

Ответ: Смена Анимации.
 
как всегда - http://forum.boolean.name/showthread.php?t=7532
тиам правда не совсем то что надо, но уже кое-что, исправлять лень - сам какнибудь ))

Ganociy 20.11.2009 12:44

Ответ: Смена Анимации.
 
Ребята ну очень срочно нужен код смены анимации.
SkyDream , спасибо частично помогло.

Mhyhr 20.11.2009 13:24

Ответ: Смена Анимации.
 
Код смены анимации пишется конкретно под твои нужды И параметры, И пишется в идеале тобой
...Или ищи в старых темах булки.

Артем Валерьевич 20.11.2009 19:31

Ответ: Смена Анимации.
 
Кастл тебе в помощь, там у буратино анимка меняется

Ganociy 24.11.2009 07:56

Ответ: Смена Анимации.
 
Нет блин ничего не получается!!! Уже задал%ался!!! Хееееееееееееееелп!

Артем Валерьевич 24.11.2009 08:24

Ответ: Смена Анимации.
 
до цикла пишешь,
Код:


 
твой персонаж=LoadAnimMesh("путь к персу\перс.b3d")
ExtractAnimSeq( твой персонаж,первый кадр,последний кадр,название секвенции)
ExtractAnimSeq( твой персонаж,первый кадр,последний кадр,название секвенции)
ExtractAnimSeq( твой персонаж,первый кадр,последний кадр,название секвенции)

В цикле пишем:

Код:


If KeyDown (UP) Then
 
If Pers_speed#<=0
Pers_speed#=0.75
Animate твой персонаж,2,Pers_speed#,1,0
EndIf
 
Else If KeyDown (DN) Then
 
If Pers_speed#<=0
Pers_speed#=0.75
Animate твой персонаж,2,Pers_speed#,1,0
EndIf
 
Else If Pers_speed#;<=0
 
Pers_speed#=0;.7
Animate твой персонаж,2,Pers_speed#,2
 
EndIf


Ganociy 26.11.2009 15:33

Ответ: Смена Анимации.
 
Артёв Валерич. Нескромно благодарен. Но это я научился делать давныыым-
давноооо! Ты выше записи читал ??? ===>>>
Вот смотрите , давно уже меня эта проблема терроризирует. Дано две анимации для зомби : бег , атака.
Если расстояние между игроком и зомби =<5, то анимировать зомби атака.
Иначе если расстояние между игроком и зомби >5, то анимировать зомби ходьба.
Вот у меня происходит зацикливание на анимации атака и дальше не хочет
анимировать ходьбу . Эта проблема возникла ещё очень давно.

H@NON 26.11.2009 16:23

Ответ: Смена Анимации.
 
проверять текущую проигрываемую секвенцию, и если она не совпадает с требуемой, то проигрывать анимацию. Для проверки текущей секвенции команда AnimSeq.

Ganociy 26.11.2009 18:00

Ответ: Смена Анимации.
 
Ну попробуем...
да и ещё ... Делаю функцию бота ...

Function CreateBot(mesh,x,y,z)
s.bot=New bot
s\entity=LoadAnimMesh ("data\bots\Zombie.b3d")
PositionEntity s\entity,x,y,z
ScaleEntity s\entity,0.05,0.05,0.05
EntityBox s\entity,-1,2,-0.5,1,1,1
EntityPickMode s\entity,3
End Function

Function updatebot ()
For a.bot=Each bot
MoveEntity a\entity,0,0,-0.01
Next
End Function

создаю ну скажем от 1 до 5 бота. Усё ОК ...
в проверке пика пишу-

If MouseDown(1) And MilliSecs()-last_shot_time>shot_delay And bullets>0 And reloading=0
PlaySound firesound
bullets=bullets-1
last_shot_time=MilliSecs()
pick=CameraPick(cam, CentreX+Rnd(-10,10),CentreY+Rnd(-10,10))
If pick<> 0Then
makehole(hole,holes)
makespark(spark,sparks,220)
Create_bah(140)
For t.bot=Each bot
FreeEntity t\entity
Delete t
Create_bah(740)
CreateBot(zombie,Rnd (-30,30),0,Rnd(-30,30))
Next
EndIf
Animate smg,3,.2,fire,5
EndIf

Так вот у меня с карты удаляются все боты а хочется что бы один. Что я не дописал??

Артем Валерьевич 26.11.2009 18:20

Ответ: Смена Анимации.
 
Один человек говорил что лучше научить ловить рыбу чем дать удочку, но мы все равно на теже грабли.
Код:


 
PickedEntity = CameraPick (a.MatchMan\cam,MouseX,MouseY)


If PickedEntity <> 0
For h.ZombyBot=Each ZombyBot
If EntityDistance ( a.MatchMan\PiwotPers,h\ZombySphere)<10 Then
;If ZomLiw=True
;For h.ZombyBot=Each ZombyBot


If PickedEntity = h\ZombySphere Then
h\ZombyHealth#=h\ZombyHealth# - .5
FreshBlood(blood)
If h\ZombyHealth# <=0 Then
h\ZombyHealth#=0

If AnimSeq( h\ZombyMesh ) <> dead_zomby Then Animate h\ZombyMesh,3,.3,dead_zomby
kills = kills + 1:h\ZomLiw=False:FreeEntity h\ZombySphere:Delete h:PickedEntity=0
;CreateZomby("AData\ABitmap\ANps\Arahna.b3d",EntityX(a.MatchMan\PiwotPers)+Rnd(-3,3),2,EntityY(a.MatchMan\PiwotPers)+Rnd(-3,3),1,FoolLives,70)
EndIf
EndIf
EndIf
Next
EndIf



Часовой пояс GMT +4, время: 17:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot