|
FAQ Туториалы и часто задаваемые вопросы |
16.11.2008, 22:47
|
#1
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
Итак, уже (сбился со счёту который) раз меня об этом спрашивают.
Специально написал без синхронизации, а то м.б. народ запутается)
Для запуска семпла нужен Blitz3D версии 1.98 и желательно понимающий русские комментарии
Вся необходимая медия - в аттаче.
Итак:
Graphics3D 800,600,32,2 ; Объявляем графический режим
SetBuffer BackBuffer() ; и иже с ним - короче, без этого никак в любой проге
cam = CreateCamera() ; Камера,
CreateLight() ; свет - тоже неотъемлемые части любой проги
man = LoadAnimMesh("MedicTFC.b3d") ; Грузим модельку перца
PositionEntity man,0,-50,100 ; Отдаляем от камеры чтоб видно было
idle = LoadAnimSeq(man, "Idle.b3d") ; Вот так грузим первую анимацию
run = LoadAnimSeq(man, "run.b3d") ; Точно так же - вторую
; В переменных run и idle появятся порядковые номера анимации - не более того
; Они назначаются автоматом при загрузке анимации в том порядке, в котором
; эта анимация была загружена. Например, в данном случае, idle будет = 1, а
; run = 2, ноль - это та анимация, которая изначально содержалась в модели
; (Если стояла галка "сохранить анимацию")
Repeat ; Главный цикл
If KeyHit(2) Then Animate man, 1,.5,run,10 ; По нажатию клавиш анимируем мужика
If KeyHit(3) Then Animate man, 1,1,idle,10
; Обратите внимание на 3-й параметр
; Собсно туда и указывают, какую анимацию запускать
; Остальные параметры (режим, скорость, плавность переключания)
; выбирают по ситуации, это, думаю, понятно
; Если непонятно - читайте справку
UpdateWorld() ; Для того чтобы работала анимация, UpdateWorld обязателен!
RenderWorld() ; Рендер
Text 20,20,"PRESS 1 TO RUN AND 2 TO STOP" ; Немного текста
Flip 1 ; Вертикальная синхронизация включена
Until KeyHit(1) ; Выход из главного цикла - по нажатию клавиши Ескейп
End ; Конец всея проги
Хинт: Если скопировать модель с загруженными анимациями при помощи CopyEntity, то и анимация тоже будет в скопированной модели Так что грузим с винта всего 1 раз а потом только копируем.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 9 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
17.11.2008, 19:12
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
респект. буду сюда посылать юнных падаванов если что.
ABTOMAT ,вторая строчка не нужна. когда Graphics 3D, тогда двойная буфферизация идет в подарок
|
(Offline)
|
|
17.11.2008, 21:03
|
#3
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
Сообщение от HolyDel
респект. буду сюда посылать юных падаванов если что.
ABTOMAT ,вторая строчка не нужна. когда Graphics 3D, тогда двойная буфферизация идет в подарок
|
Вот те крест на пузе - точно помню, мне Блитз написал ошибку в 3Д режиме (т.к. 2Д режим юзаю очень редко) "Buffer is not set!", может, версия Блитза старая была, но с тех пор сразу же ставлю.
Вообще, лучше эту строку писать, так явно указано в какой буфер производить буферные операции.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
Последний раз редактировалось ABTOMAT, 18.11.2008 в 16:10.
|
(Offline)
|
|
18.11.2008, 15:22
|
#4
|
AnyKey`щик
Регистрация: 18.11.2008
Сообщений: 1
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
А как поступить в этом случае , если у тебя место keyhit keydown?
Вот, не могу ни как анимашку делать.
помогите разобраться.
|
(Offline)
|
|
24.01.2013, 13:49
|
#5
|
AnyKey`щик
Регистрация: 24.01.2013
Сообщений: 15
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
Сколько времени прошло, а ответа так и нет... Так как же быть если используешь не KeyHit а KeyDown ? Неужели никто не может ответить? Такое впечатление что некому...
|
(Offline)
|
|
24.01.2013, 14:42
|
#6
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
If KeyDown(200) then
If AnimSeq(man) <> run Then Animate man, 1,.5,run,10
endif
|
(Offline)
|
|
24.01.2013, 15:15
|
#7
|
AnyKey`щик
Регистрация: 24.01.2013
Сообщений: 15
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: FAQ LoadAnimSeq (загрузка нескольких анимаций из файла)
Пробовал...У меня, например, дергается но не работает...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:06.
|