PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Управление анимацией игрового персонажа!


Управление анимацией игрового персонажа!

Сообщений 1 страница 5 из 5

1

Подскажите, кто занимался с анимацией: Как привязать разную анимацию к клавишам клавиатуры и кнопкам мыши.

http://mega-avr.ucoz.ru/default/mouse.png

http://mega-avr.ucoz.ru/default/keyboard.png

У кого какие на этот счёт соображения?? К примеру имеем игрового персонажа ninja.mesh ( эту модельку можно найти в OGRE SDK ) и ninja.skeleton - анимация. Список доступной анимации( их можно найти, открыв файл skeleton обычным notepad ):
Attack1
Attack2
Attack3
Backflip
Block
Climp
Crouch
Death1
Death2
HighJump
JumpNoHeight
Jump
Idle1
Idle2
Idle3
Kick
SideKick
Spin
Stealth
Walk

Возможно какие-то и не заметил!

Отредактировано Иван26 (25.04.2011 08:16:14)

0

2

Задача изменять тип анимации при нажатии тех или иных кнопок клавиатуры или мыши?
Пример анимации есть в файле Entity.pb дистрибутива PureBasic.
За анимацию отвечает строка

Код:
AnimateEntity(0, "Walk")

Чтобы переключать анимацию, нужно вызывать функцию AnimateEntity, указывая желаемый тип анимации.
За работу с мышью отвечает библиотека Mouse, за джойстик библиотека Joystick,  а за клавиатуру - библиотека Keyboard.

0

3

Задача изменять тип анимации при нажатии тех или иных кнопок клавиатуры или мыши?

Именно. Но не только изменять( я в курсе как работать с мышью и клавиатурой, и какую функцию использовать для анимации ); задача в другом, это выполнять анимацию единожды, т.е. нажал на левую кнопку мыши, персонаж выполнил анимацию Spin(удар мечём с разворота) и остановился в исходное состояние.

0

4

Иван26 написал(а):

задача в другом, это выполнять анимацию единожды, т.е. нажал на левую кнопку мыши, персонаж выполнил анимацию Spin(удар мечём с разворота) и остановился в исходное состояние.

Можно попробовать так:

Код:
ExamineMouse()
If MouseButton(#PB_MouseButton_Left)
  If MouseButton_Left = 0
    MouseButton_Left=1
    ; Выполняем действия при нажатии левой кнопки мыши.
  EndIf
Else
  MouseButton_Left = 0
EndIf

0

5

Спасибо, нужно попробовать! Еще такая была мысль использовать функцию GetEntityAnimationTime(#Entity), но пока не испытывал:

Код:
;Число конечного времени анимации
#AnimNumbEnd = 0.503
;управление анимацией --------------------
If MouseButton(#PB_MouseButton_Left)
    AnimateEntity(0,"Attack1")
    While GetEntityAnimationTime(0) = #AnimNumbEnd : Wend
Else
    AnimateEntity(0,"Idle2")
EndIf

Отредактировано Иван26 (27.04.2011 13:49:14)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Управление анимацией игрового персонажа!