Анимация (и еще пару вопросов)
Привет всем. Я только начал изучать Блиц, так что возникают некоторые проблемы .( Вот уже 2 часа бъюсь над ними... безрезультатно. Надеюсь здесь найдутся добрые люди :)
Вот в чем проблема: при загрузки модели и анимации к ней... она не хочет проигрываться при запуске программы. Надо например прописать If KeyDown(17) Animate Bochka. тогда после надатия клавишь меш анимируется. Как сделать, чтобы он анимировался сразу. Это была первая проблема .) Теперь вторая: я загружал модель через LoadMesh, и просчитывал коллизию. А так как этот объект анимируется, приходится загружать через LoadAnimMesh, и тогда коллизия перестает просчитываться :(. А так как этот объект появляется в случайном месте, то я не могу на тех же координатах создать еще один объект (для коллизии). Помогите пожалуйста. И еще вопросик. Здесь есть поиск по темам форума? |
Re: Анимация (и еще пару вопросов)
1) Пиши не If KeyDown(17) Animate Bochka , а просто Animate Bochka
2) Никогда не слышал, что анимированные объекты не колизятся 0.о Скорее ты что-то напутал с колизиями. Покажи код... Цитата:
Существуют такие команды, как: EntityX(entity),EntityY(entity),EntityZ(entity) которые возвращают соответственно координаты X,Y,Z объекта. Юзаем эти команды... PositionEntity Object2, EntityX(Object1), EntityY(Object1), EntityZ(Object1) |
Re: Анимация (и еще пару вопросов)
Вот именно, что если писать просто Animate bochka, она не анимируется. Я даже в проверку отдельную прогу написал:
Graphics3D 800,600,16,1 SetBuffer BackBuffer() cam=CreateCamera() PositionEntity cam,0,10,0 lit=CreateLight() PositionEntity lit,10,20,-20 bochka=LoadAnimMesh("bochka.b3d") PositionEntity bochka,0,0,10 LoadAnimSeq bochka,"bochka.b3d" PointEntity cam,bochka Repeat Animate bochka UpdateWorld RenderWorld Flip Until KeyHit(1) End бочка не анимируется. а если вместо Animate bochka вставить If KeyDown(17) Animate bochka, то после нажатия W, ана начинает анимироваться. 2) Странно. при LoadMesh все нармально, а при LoadAnimMesh коллизии пропадают... ну я еще попробую отдельно написать (как для анимации), может в коде что-то перепуталось. Ага. попробую повазвращать координаты. Благодарю. |
Re: Анимация (и еще пару вопросов)
Цитата:
Ещё есть у каждого поста кнопочка "Thanks", обычно форумчане любят если их поблагодорят такой кнопочкой ;) Animate Bochka нужно вызывать 1 раз. А именно: If AnimSeq(Bochka)<>0 Anima Bochka Сразу запуститься анимация. |
Re: Анимация (и еще пару вопросов)
Делай так ! когда ты создавал модель в максе
у нее было имя к примеру Box01 в блитце допиши этот код bochka_mdl=LoadAnimMesh("bochka.b3d") bochka=FindChild(bochka_mdl,"Box01") PositionEntity bochka,0,0,10 команда ФиндЧаил ищет объект в твоей сцене просто при экспорте из пепилаина появляется такая иерархие... |
Re: Анимация (и еще пару вопросов)
Конечно, ничего не коллизится - при аниммеш, как результат получаешь хендл "пивота", а не модель. Используй последний параметр
EntityType entity,collision_type[,recursive] подними его. |
Re: Анимация (и еще пару вопросов)
impersonalis, спасибо. заработало.)
MoKa, я уже пытался подобное написать. Анимации всеравно почемуто нет. и... ты наверно имел ввиду If AnimSeq(Bochka)=0 Anima Bochka :) Horror, не совсем понял, чем лучше такие манипуляции.. но после них вообще ничего не работает :(. Пишет Entity has no animation/ или еще находит отговорки.. |
Re: Анимация (и еще пару вопросов)
Ура товариши! Все работает :) Я не в ту функцию писал .))
|
Re: Анимация (и еще пару вопросов)
А чем можно загрузить гиф анимацию? Через LoadSprite неполучается... Еще в хелпе нашел LoadAnimImage... но что-то та же история.
И как можно узнать какие форматы поддерживают некоторые команды, типа LoadSprite и LoadMesh? |
Re: Анимация (и еще пару вопросов)
Ну помогите ктонибудь загрузить гиф анимацию...:''((
еще вопросик: можно ли сделать чтобу в общем цыкле (который идет бесконечно) некоторые команды прокрутились только один раз? например добаитьв цыкл вывод надписи... чтобы она один раз выводилась.... |
Re: Анимация (и еще пару вопросов)
Вложений: 2
Может я и ошибаюсь, но блиц гиф анимацию не воспроизводит...
LoadAnimImage юзается для анимационной ленты... LoadAnimImage Изображение,ширина "кадра", высота "кадра", номер первого кадра ( 0 ), общее количество кадров Отсчет кадров идет с 0. Тоесть 1 кадр = 0, 2 кадр = 1 и т.д Для вывода изображения на экран юзаем DrawImage изображение, позиция X, позиция Y, кадр Вот пример. Анимационная лента из 3 кадров (лежит в аттаче). При нажатии пробела, меняем кадр на следующий, при достижении предела кадров меняем на первый. Код:
Graphics 800,600,32,1 Цитата:
Код:
Graphics 800,600,32,1 |
Re: Анимация (и еще пару вопросов)
Ааа. так вод для чего LoadAnimMesh... мог бы и сам догадаться .))
А вот со вторым вопросом неувязачка вышла. Такой трюк проходитесли есть какая-то переменная, которую надо один раз поенять. Но как это применить если надо вывести текст или спрайт? ЗЫ: все. доперло. Огромное спасибо.) |
Re: Анимация (и еще пару вопросов)
Цитата:
sample=OpenMovie("sample.gif") repeat drawmovie sample,x,y,w,h renderworld() flip until keyhit(1) closemovie sample end |
Re: Анимация (и еще пару вопросов)
Что-то прогал я прогал... все поперепрогал... теперь помошь нужна. Поможете? :support:
1. здесь был огромный вопрос, на который я нашел ответ в процессе его написания 2. неповерите, но я даже не начал вопрос писать, и уже сам допер. Хотя парился пол дня. Прям исцеление. 3. Блин. От радости третий вопрос забыл :( |
Re: Анимация (и еще пару вопросов)
Вспомнил! Как можно узнать координаты объекта? Всмысле координаты того места, где он находится.
|
Часовой пояс GMT +4, время: 21:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot