フラッシュゲームを作っています。アニメーションが異なる 3 つの攻撃 (キーボード バインド z、x、c) を次に示します。
問題#1
たとえば、attack1 を使用すると (「z」をクリックして) ~100 フレームのアニメーションが表示されますが、アニメーション中に attack2 (x) をクリックすると、attack1 アニメーションがキャンセルされ、attack2 アニメーションの再生が開始されます。アニメーション中にそれを作成する必要があります。他のアニメーションを使用して中断することはできません。
問題#2
(「z」をクリックして)attack1を使用し、「z」ボタンを放すまで「z」アニメーションがフリーズします。一度攻撃ボタンをクリックすると、アニメーションの再生が開始され、同じボタンをクリックしても中断/一時停止できなくなります。
すべての攻撃で、最後のフレームのムービークリップに、MovieClip(this.parent).gotoAndStop("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");
}
}