|
3D-программирование Вопросы, касающиеся программирования 3D мира |
24.12.2007, 18:01
|
#1
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Двойная анимация
Как сделать чтобы при нажатии кнопки проигравалось сразу 2 анимации?
|
(Offline)
|
|
24.12.2007, 18:06
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Двойная анимация
а как ты делаеш чтобы у тебя проиграывалась одна?
|
(Offline)
|
|
24.12.2007, 18:40
|
#3
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Двойная анимация
Сообщение от HolyDel
а как ты делаеш чтобы у тебя проиграывалась одна?
|
Сначала
box = LoadAnimMesh("normal.b3d")
LoadAnimSeq box, ("left.b3d")
LoadAnimSeq box, ("right.b3d")
затем в цикле
If KeyDown(17)
If AnimSeq(Box)=0 Animate Box,2,1,2,10
Else
If AnimSeq(Box)=1 Or AnimSeq(Box)=2 Animate Box, 2,1,0,10
EndIf
|
(Offline)
|
|
24.12.2007, 18:41
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Двойная анимация
Сначала
box = LoadAnimMesh("normal.b3d")
LoadAnimSeq box, ("left.b3d")
box2 = LoadAnimMesh("normal2.b3d")
LoadAnimSeq box2, ("left2.b3d")
затем в цикле
If KeyDown(17)
If AnimSeq(Box)=0
Animate Box,2,1,2,10
Animate Box2,2,1,2,10
endif
Else
If AnimSeq(Box)=1 Or AnimSeq(Box)=2 Animate Box, 2,1,0,10
If AnimSeq(Box2)=1 Or AnimSeq(Box2)=2 Animate Box2, 2,1,0,10
EndIf
|
найди 10 отличий
|
(Offline)
|
|
24.12.2007, 19:44
|
#5
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Двойная анимация
теперь ни 1 из 2 анимаций непашет(
|
(Offline)
|
|
24.12.2007, 19:52
|
#6
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Двойная анимация
эмм. а у тебя есть файлы
"normal2.b3d"
и
"left2.b3d"?
далее правочка:
If KeyDown(17)
If AnimSeq(Box)=0
Animate Box,2,1,2,10
endif
If AnimSeq(Box2)=0
Animate Box2,2,1,2,10
endif
Else
If AnimSeq(Box)=1 Or AnimSeq(Box)=2 Animate Box, 2,1,0,10
If AnimSeq(Box2)=1 Or AnimSeq(Box2)=2 Animate Box2, 2,1,0,10
EndIf
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.12.2007, 20:00
|
#7
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Двойная анимация
да, эти файлы я сделал, но нифига непашет...
Кстати, и этот тоже нет(
|
(Offline)
|
|
24.12.2007, 20:14
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Двойная анимация
даже хз.
может ето из за забытого
LoadAnimSeq box, ("right.b3d")
и соответственно
LoadAnimSeq box2, ("right2.b3d")
?
|
(Offline)
|
|
24.12.2007, 20:36
|
#9
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Двойная анимация
не, наврятли, я кстати ту страку удалил...
|
(Offline)
|
|
27.12.2007, 13:06
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Двойная анимация
Пролистай чайлды в корню модельки, и пробуй анимацию грузить к чайлду с именем модельки, и анимировать непосредственно этот чайлд.
|
(Offline)
|
|
27.12.2007, 21:35
|
#11
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Двойная анимация
Я непонял чё ты щас сказал т.к. я про чайлды ..... хз)
|
(Offline)
|
|
28.12.2007, 11:48
|
#12
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Двойная анимация
Тогда го справка, учи функции: CountChildren, GetChild, FindChild, LoadAnimSeq.
|
(Offline)
|
|
28.12.2007, 12:11
|
#13
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Двойная анимация
Итак, дамы и господа, если вы хотите, затекстурить, установить альфу, режим блендинга, или еще что либо для анимированной модели, то делайте ето в рекурсии. Марк - жопа, и не написал необходимых функций, но мы то с вами, тоже не дураки, поетому можем написать сами.
вот всякие ф-ии для работы с анимированными объектами
Function AnimEntityTexture(aent,tex,frame=0,layer=0)
Local ent
EntityTexture aent,tex,frame,layer
For c=1 To CountChildren(aent)
ent=GetChild(aent,c)
If CountChildren(ent)>0
AnimEntityTexture(ent,tex,frame,layer)
Else
If EntityClass(ent)="Mesh" Then EntityTexture ent,tex,frame,layer
EndIf
Next
End Function
Function AnimEntityColor(aent,r,g,b)
Local ent
EntityColor aent,r,g,b
For c=1 To CountChildren(aent)
ent=GetChild(aent,c)
If CountChildren(ent)>0
AnimEntityColor(ent,r,g,b)
Else
If EntityClass(ent)="Mesh" Then EntityColor ent,r,g,b
EndIf
Next
End Function
Function AnimEntityAlpha(aent,a#)
Local ent
EntityAlpha aent,a
For c=1 To CountChildren(aent)
ent=GetChild(aent,c)
If CountChildren(ent)>0
AnimEntityAlpha(ent,a)
Else
If EntityClass(ent)="Mesh" Then EntityAlpha ent,a
EndIf
Next
End Function
Function AnimEntityFX(aent,fx)
Local ent
EntityFX aent,fx
For c=1 To CountChildren(aent)
ent=GetChild(aent,c)
If CountChildren(ent)>0
AnimEntityFX(ent,fx)
Else
If EntityClass(ent)="Mesh" Then EntityFX ent,blend
EndIf
Next
End Function
Function AnimEntityBlend(aent,blend)
Local ent
EntityBlend aent,blend
For c=1 To CountChildren(aent)
ent=GetChild(aent,c)
If CountChildren(ent)>0
AnimEntityBlend(ent,blend)
Else
If EntityClass(ent)="Mesh" Then EntityBlend ent,blend
EndIf
Next
End Function
Function AnimEntityPickMode(aent,mode)
EntityPickMode aent,mode,0
For i=1 To CountChildren(aent)
AnimEntityPickMode(GetChild(aent,i),mode)
Next
End Function
Function AnimEntityAnimate(aent,mode=1,speed#=1,sequence=0,transition#=0)
Local ent
Animate(aent,mode,speed#,sequence,transition#)
For c=1 To CountChildren(aent)
ent=GetChild(aent,c)
If CountChildren(ent)>0
AnimEntityAnimate(ent,mode,speed#,sequence,transition#)
Else
Animate(ent,mode,speed#,sequence,transition#)
EndIf
Next
End Function
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Двойная проверка MouseHit(1) |
Hurrit |
Blitz3D |
1 |
14.05.2009 19:43 |
Анимация |
ArtemkA |
3D-программирование |
12 |
02.02.2009 23:31 |
анимация |
Jenya |
3D-программирование |
2 |
22.06.2007 01:42 |
анимация и FPS |
Leito |
3D-программирование |
4 |
11.02.2007 09:30 |
Анимация |
Ins!de |
3D-программирование |
4 |
11.08.2006 23:45 |
Часовой пояс GMT +4, время: 20:35.
|