Я создаю флеш-игру. Вот 3 разных атак с различными анимациями (клавиатура bind z, x, c).Action Script 3. Продолжайте анимацию до последнего кадра без прерывания
Проблема № 1
Например Если я использую attack1 (нажав «Z») Это показывает анимацию с ~ 100 кадров, но если во время анимации я нажав attack2 (х) Это отменяет attack1 анимацию и начало играя attack2 анимация. Мне нужно сделать это, когда во время анимации его нельзя прервать, используя другую анимацию.
Проблема № 2
Если я использую attack1 (нажав "Z") и удерживайте "Z" анимации замерзает до кнопки "Z" Я отпускаю. Мне нужно сделать это. Если я нажму кнопку любой атаки, сразу начну воспроизводить анимацию, и ее нельзя прервать/приостановить, нажав ту же кнопку.
В каждой атаке MovieClip в последнем фрейме я добавил код MovieClip(this.parent).gotoAndStop("stay");
, что после анимированной анимации играл. Он начал воспроизводить анимацию «Stay» (эта часть работает).
Key_Down функция:
private function key_down(event:KeyboardEvent)
{
if (event.keyCode == 90)
{
attack1 = true;
}
if (event.keyCode == 88)
{
attack2 = true;
}
if (event.keyCode == 67)
{
attack3 = true;
}
}
Key_Up функция: функция
private function key_up(event:KeyboardEvent)
{
if (event.keyCode == 90)
{
attack1 = false;
}
if (event.keyCode == 88)
{
attack2 = false;
}
if (event.keyCode == 67)
{
attack3 = false;
}
}
startAttack()
private function startAttack() {
if (attack1)
{
Hero.gotoAndStop("attack1");
}
if (attack2)
{
Hero.gotoAndStop("attack2");
}
if (attack3)
{
Hero.gotoAndStop("attack3");
}
}
Спасибо за ответ, но я получаю ошибки: 3 ошибки, где 'code [1] = 9; ....': '1120: доступ к неопределенному коду свойств .' и другие' 1120: доступ к неопределенным кодам свойств . 'в этой строке' for (var c in codes) {' –
У меня нет Flash прямо здесь, поэтому я пишу код с моей головы. Теперь это должно быть лучше. – tomwesolowski
Спасибо, это сработало для вопроса №2 сейчас. Его нельзя прервать, нажав одну и ту же кнопку, но если во время анимации attack1 все еще прерывается с помощью анимации attack2. Как это исправить? –