Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 05.02.2009, 01:08   #1
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Вернуть анимацию

Загрузил анимацию для обьекта в самом начале программы, потом по нажатию клавиши для этого обьета запускаеться 2 анимация.. как зделать так чтобы после оконьчания ее на автомате запускалась первая анимация..

мозгов не хватает самому додуматься.. пытался через флагову переменную но получаеться что 2 анимация работает только при нажатой кнопки..
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 08:18   #2
Raion
Знающий
 
Аватар для Raion
 
Регистрация: 24.12.2008
Сообщений: 280
Написано 145 полезных сообщений
(для 775 пользователей)
Ответ: Вернуть анимацию

можно использовать select

ExtractAnimSeq model,10,10
ExtractAnimSeq model,10,20
;--------------------------------UPDATE------

select anim
case 0
If AnimSeq(model)<>1 Then Animate model,1,1,1,0
if keyhit(57) then anim=1 ;давим клаву
case 1
If AnimSeq(model)<>2 Then Animate model,1,1,2,0
If AnimTime(model)>=10 Then anim=0 ;первая анимация
end select
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 08:51   #3
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Re: Вернуть анимацию

пытался через флагову переменную но получаеться что 2 анимация работает только при нажатой кнопки..
экстрасэнс, anyone ?
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 17:17   #4
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

А проще нельзя?... Например просто узнать проигрываться сейчас анимация для данного меша или нет... если нет то запускает 1 анимацию..
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 18:25   #5
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

а может кто нибудь показать пример как это делается?

Примерно вот так хочеться зделать

Repeat

проверка играет ли анимация для данного меша
если играет то ничего не далать
если не играет то запустить такую то анимацию

; какэто все выразить кодом
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 18:54   #6
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Вернуть анимацию

а справка по командам не работает?
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 19:11   #7
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Вернуть анимацию

да, можно...
покажи как ??
to NitE, вообще не вижу смысла в твоих 2 постах !!

Max Payne, тебе же Raion написал !! Что непонятно там ?? если хочеш именно это:
Repeat

проверка играет ли анимация для данного меша
если играет то ничего не далать
если не играет то запустить такую то анимацию
то нужно немножко переделать код, но команды те самые (AnimSeq, AnimTime и Animate), справка в помощь (H@NON, +1) !!
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 21:43   #8
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

model=loadanimmesh("shit")
anim1=extractanimseq(model,10,20)
anim2=extractanimseq(model,21,30)
repeat
if keyhit(57)
animate model,0,1,1,0
endif
if animseq(model)=1 and animating(model)=0 animate model,0,1,2,0
until keyhit(1)



Круто конечно но как это работает... не пойму как сюда впихнуть свою анимацию.. откуда она загружаеться...

У меня примерно так

cub11=LoadAnimMesh("3d models/2sol/sol.b3d")
PositionEntity cub11,22,1.2,-15

anim1=LoadAnimSeq (cub11,"3d models/2sol/a1.b3d")
anim2=LoadAnimSeq (cub11,"3d models/2sol/a2.b3d")


Animate cub11,1,0.3,anim1

Repeat

If KeyDown(17)Then Animate (cub11,3,0.3,anim2)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (14.02.2009)
Старый 05.02.2009, 21:55   #9
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

cub11=LoadAnimMesh("3d models/2sol/sol.b3d")
PositionEntity cub11,22,1.2,-15

anim1=LoadAnimSeq (cub11,"3d models/2sol/a1.b3d")
anim2=LoadAnimSeq (cub11,"3d models/2sol/a2.b3d")

anim3=ExtractAnimSeq(cub11,10,20)
anim4=ExtractAnimSeq(cub11,21,30)


Repeat

If KeyHit(17)
Animate cub11,0,1,1,0
EndIf
If AnimSeq(cub11)=1 And Animating(cub11)=0 Animate cub11,0,1,2,0




не знаю я как связать мой код с твоим
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 22:18   #10
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Вернуть анимацию

JohnK здесь не хватает Солженицина
__________________
(Offline)
 
Ответить с цитированием
Старый 06.02.2009, 01:11   #11
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

во во.. фотка прям про меня я так уже 2 дня сижу..

все равно не вьеду... перечитал справку по командам ,почти наизусть знаю..
просто обьясните поподробней как это работает...

mesh=LoadAnimMesh( base_mesh$ ) ;одна сплошная секция анимации номер 0.
ExtractAnimSeq( mesh,0,30 )

У меня мешь и анимация это 2 разных меша... какой грузить в mesh=LoadAnimMesh( base_mesh$ ) ... если 1 то это просто мешь.. если второй то это анимация и как ее потом прикрутить к 1 мешу.

в бейсике я бы зделал так

If keydown(17) then animate(cub11,1,0.2,anim1) else animate(cub11,1,0.2,anim2)

но в блице это не прокатит.. просто тут другой принцип и я его не пойму никак...
какие то номера кадров анимации...
Может ко нибудь исравить этот код... пиво с меня

cub11=LoadAnimMesh("3d models/2sol/sol.b3d")
PositionEntity cub11,22,1.2,-15

anim1=LoadAnimSeq (cub11,"3d models/2sol/a1.b3d")
anim2=LoadAnimSeq (cub11,"3d models/2sol/a2.b3d")


Animate cub11,1,0.3,anim1

Repeat

If KeyDown(17)Then Animate (cub11,3,0.3,anim2)

надо чтоб того как я нажму клавишу и после проигрования второй анимации просто запускалась вот эта команда Animate cub11,1,0.3,anim1
(Offline)
 
Ответить с цитированием
Старый 06.02.2009, 05:29   #12
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Вернуть анимацию

NitE , я тебя сколько раз уже предупреждал - не пиши всякую херню
ну блин, не знаешь темы - пройди мимо.
человек подождет подождет, и за ум возьмется - начнет хелп читать, семплы смотреть, по форуму поиск заюзает.
а с твоими неработающими подсказками точно бросит программирование

зы. кто не понял: все советы тов. NitE , мягко говоря не компетентны, неправильны и половина кода не рабочая. как делается анимация раз 50 объяснялось в разных темах на форуме ранее.

http://forum.boolean.name/showpost.p...5&postcount=19
__________________

Последний раз редактировалось tormoz, 06.02.2009 в 05:34.
(Offline)
 
Ответить с цитированием
Старый 06.02.2009, 10:44   #13
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

;------загрузка--------
player=LoadAnimMesh("player.b3d")
ExtractAnimSeq(player,0,9)
ExtractAnimSeq(player,10,70)
ExtractAnimSeq(player,71,100)

;-----------цикл-------
If key_move
a_mode=1
a_speed=0.5
a_player=1
a_tran=20
endif

If key_attak
a_mode=3
a_speed=1
a_player=2
a_tran=2
endif

If key_jump
a_mode=3
a_speed=1
a_player=3
a_tran=8
endif

aseq_player=AnimSeq(player)
If aseq_player<>a_player
Animate player,a_mode,a_speed,a_player,a_tran
Endif

с циклом все понятно, какую клавишу нажмеш такие параметры и будут в анимации..
непонятно загрузка меша...
player=LoadAnimMesh("player.b3d")
ExtractAnimSeq(player,0,9)
ExtractAnimSeq(player,10,70)
ExtractAnimSeq(player,71,100)

что вы имеете ввиду под player, сам меш или его анимацию?
у меня это 2 разных файла?
(Offline)
 
Ответить с цитированием
Старый 06.02.2009, 11:45   #14
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Вернуть анимацию

ExtractAnimSeq(player,0,9)
анимсеки из плеера !! т.е. анимация в том же файле !!
у меня это 2 разных файла?
тогда попробуй это: http://forum.boolean.name/showthread.php?t=7338
(Offline)
 
Ответить с цитированием
Старый 06.02.2009, 12:14   #15
Max Payne
Нуждающийся
 
Аватар для Max Payne
 
Регистрация: 23.12.2007
Сообщений: 72
Написано 4 полезных сообщений
(для 12 пользователей)
Re: Вернуть анимацию

тогда попробуй это: http://forum.boolean.name/showthread.php?t=7338
там все понятно, там загружаеться 2 анимации и каждая запускаеться разной клавишей...у меня немного другое... Попробую обьяснит полутьше..Надо чтоб после 1 анимации на автомате запускалась вторая и все.

Загружаються у меня анимации так

anim1=LoadAnimSeq (cub11,"3d models/2sol/a1.b3d")
anim2=LoadAnimSeq (cub11,"3d models/2sol/a2.b3d") ит.

вот мой код
cub11=LoadAnimMesh("3d models/2sol/sol.b3d") ; агрузка меша
PositionEntity cub11,22,1.2,-15

anim1=LoadAnimSeq (cub11,"3d models/2sol/a1.b3d") загрузка 1 анимации
anim2=LoadAnimSeq (cub11,"3d models/2sol/a2.b3d") загрузка 2 аниации


Animate cub11,1,0.3,anim1 запуск 1 анимации

Repeat

If KeyDown(17)Then Animate (cub11,3,0.3,anim2) запуск 2 анимации

как вернуть первую анимации без нажатия кнопок после того как закончит играть 2 анимация..

Ps. У меня получилась то что я хотел но с использованием Goto 10 раз..
хочеться все по другому зделать...

Ведь есьже команда которая проверяет играет ли в данной момент анимация или нет.. тока как ей воспользоваться?

Последний раз редактировалось SBJoker, 16.02.2011 в 21:53.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немного про анимацию (biped, 3ds max 8) Damp 3D Моделирование 5 15.12.2012 02:51
Добавить анимацию поможете? CRASHER 3D Моделирование 2 08.12.2007 20:28
Кто хорошо знает анимацию в блитсе ??? KRIK 3D-программирование 3 03.05.2007 20:40
Как сделать анимацию спрайта? dimanche13 2D-программирование 29 17.04.2007 22:33


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com