嗯問題是我在我的遊戲中遇到了麻煩。如果我使用KEY_DOWN事件和/或ENTER_FRAME,當我按住踢球或拳擊按鈕時,戰鬥機會不斷對敵人造成傷害,但我希望他可以踢,然後返回到靜止位置或踢,並能夠保持姿勢但只會造成一次傷害。這裏有一些代碼:戰鬥機遊戲as3,KeyboardEvent.KEY_DOWN問題
stage.addEventListener(KeyboardEvent.KEY_DOWN, enterAttack);
stage.addEventListener(KeyboardEvent.KEY_UP, exitAttack);
stage.addEventListener(Event.ENTER_FRAME, attackYes);
stage.addEventListener(Event.EXIT_FRAME, attackNo);
function enterAttack(evt:KeyboardEvent):void
{
if (evt.keyCode == 84)
{
attack = true;
}
}
function exitAttack(evt:KeyboardEvent):void
{
attack = false;
}
function attackYes(evt:Event):void
{
if (attack)
{
hero.gotoAndStop("punch1");
checkHitRed();
checkIfDead();
}
}
function attackNo(evt:Event):void
{
if (!attack)
{
hero.gotoAndStop("still");
}
}
我試圖刪除某處的聽衆,但總是讓它看起來像戰鬥機沒有做任何攻擊。
有什麼辦法可以防止按下踢/打按鈕嗎?
任何幫助表示讚賞
你爲什麼不在'KeyboardEvent.KEY_UP'上執行命中?這自然會造成命中之間的延遲。 – Gio 2013-02-12 06:18:29