Ответ: Это касается Анимации)))
Юзай переменные состояния, в которые заноси номер текущего состояния персонажа, и таймеры (переменная-счетчик) для всех своих состояний героя.
Например у тебя персонаж стоит спокойно, никого не трогает. Переменная его состояния равна 0. Затем ты нажимаешь кнопку, переменная состояния меняется на 1, и пока проигрывается анимация или еще что состояния равно 1. Как только допустим заканчивается анимация удара, состояние переходит в 2 и переменной-таймеру присваивается допустим значение 100, после чего таймер начинает уменьшаться на 1 каждый цикл. Пока переменная-таймер > 0, персонаж находится в состоянии 2, в этом состоянии проигрывается анимация встревоженного стояния после атаки. Затем если переменная-таймер доходит до 0, состояние персонажа тоже меняется на 0 и врубается анимация простого спокойного стояния. Если же допустим во время таймера игрок нажал кнопку атаки еще раз, то состояние персонажа переходит в, допустим, 3 и проигрывается анимация второго удара, который входит в комбо-связку с первым. Ну а дальше так же как с первым ударом.
Кстати, проверяя текущее состояние можно например ограничить реакцию героя на нажатие игроком клавиш управления. Например если герой в состоянии 0, им можно управлять на WASD, если он вошел в состояние 1, то он проигрывает анимацию и не реагирует на попытки игрока заставить его куда-то бежать. Если же например в состоянии 2 и игрок нажимает любую кнопку движения - это принудительно возвращает переменную-таймер в 0 и соответственно сдвинувшись с места герой автоматически переходит в состояние 0 и комбо атаки уже не получится. Ну и в таком же духе
Последний раз редактировалось Amatsu, 27.07.2009 в 10:43.
|