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

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

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

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

Ответ
 
Опции темы
Старый 10.03.2010, 22:28   #1
TG
AnyKey`щик
 
Регистрация: 09.10.2007
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Как совместить несколько анимаций md2

Здравствуйте.
Проблема в следующем:
При использовании конструкции типа
    wkey = KeyDown(17)                     
    skey = KeyDown(31)           
    akey = KeyDown(30)                    
    dkey = KeyDown(32)                     
    mouse1 = MouseHit(1)
    mouse2 = MouseDown(2)                        
    space = KeyHit(57)

If wkey And mouse2=False
        MoveEntity player,0,0,0.3
        moved = 1
        forward = 1
        jump = 0
       End If

If moved = True And mouse1=True And jump = False
    If forward = True    
            If MD2AnimTime(weapon1) < 47 Or MD2AnimTime(weapon1) > 53 Then
                AnimateMD2 weapon1,1,0.1,47,53
                AnimateMD2 GUN,1,0.1,46,47
            End If
        End If
    End If

И так далее...
не получается реализовать нормально прыжок или анимацию выстрела целиком.
Тоесть жмем к примеру кнопку "вперед", паралельно однократно нажимая кнопку "прыжок", модель на долю секунды начинает проигрывать прыжок (один-два кадра) а потом продолжает бежать.
Если выставить space = KeyDown(57), то при той же ситуации чтобы увидеть анимацию прыжка целиком, необходимо удерживать кнопку "прыжок" пока анимация не проиграется до конца... тоже криво как то.
Вобщем подскажите, как сделать чтобы во время бега после кратковременного нажатия кнопки "прыжок" однократно целиком проигрывалась анимация прыжка, а затем продолжался бег?
Я так понимаю что надо использовать таймер как то... как?
(Offline)
 
Ответить с цитированием
Старый 10.03.2010, 22:37   #2
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Как совместить несколько анимаций md2

Тоесть жмем к примеру кнопку "вперед", паралельно однократно нажимая кнопку "прыжок", модель на долю секунды начинает проигрывать прыжок (один-два кадра) а потом продолжает бежать.
у тебя space вообще не используется...
(Offline)
 
Ответить с цитированием
Старый 10.03.2010, 22:47   #3
TG
AnyKey`щик
 
Регистрация: 09.10.2007
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Как совместить несколько анимаций md2

Я к примеру выложил часть кода. Space используется... просто не охота выкладывать кучу кода.
Часть с прыжком
If wkey And Space=True
        MoveEntity player,0,0,0.3
        moved = 1
        jump = 1
        forward = 1
        End If

If moved = True And jump = True
    If forward = True
        If MD2AnimTime(weapon1) < 64 Or MD2AnimTime(weapon1) > 70 Then
            AnimateMD2 weapon1,1,0.4,64,70
            AnimateMD2 GUN,1,0.4,64,70
        End If
    End If
    End If
(Offline)
 
Ответить с цитированием
Старый 10.03.2010, 22:59   #4
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Как совместить несколько анимаций md2

Очевидно что у тебя одна из этих
moved = 1
jump = 1
forward = 1
переменных в цикле приравнивается к 0
(Offline)
 
Ответить с цитированием
Старый 10.03.2010, 23:32   #5
TG
AnyKey`щик
 
Регистрация: 09.10.2007
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Как совместить несколько анимаций md2

Логически вроде всё правильно:
moved = 1 - движемся
jump = 1 - совершая прыжок
forward = 1 - движение происходит вперед
Всё это может происходить одновременно
Вобщем я наверно неправильно вопрос сформулировал...
Как можно создать "залипание" кнопки? Это решит мою проблему.
Чтоб после кратковременного нажатия программа воспринимала кнопку нажатой некоторое время.
(Offline)
 
Ответить с цитированием
Старый 11.03.2010, 00:33   #6
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Как совместить несколько анимаций md2

вобщем так. когда нажимаешь прыжок, проигрывается анимация прыжка до конца( то есть одно движения, необходимое для прыжка) и останавливается, пока модель не касается чего либо. тогда проигрывается анимация бега.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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