Flash AS3:一个按键上有多个功能?

3
如果我按下“空格”键,则会打开库存。但是,如果我再次按下“空格”,库存应该关闭。我应该使用什么来做这种事情?我可以打开它,但无法关闭。谢谢,抱歉我的英语不好。(附言:我正在使用FlashDevelop + Flixel)
2个回答

3
是的,这是完全可能的。
var isInventOpen:Boolean = false;
function openCloseInvent(e:KeyboardEvent):void
{
    if(e.keyCode == Keyboard.SPACE && isInventOpen == false)
    {
         //Open Inventory
         isInventOpen = true;
    }

    if(e.keyCode == Keyboard.SPACE && isInventOpen == true)
    {
         //Close Inventory
         isInventOpen = false;
    }
}

如果需要的话,可以在这里找到更多关于KeyCodes的信息:KeyCodes


2

你应该像这样为自己设置一个布尔值:

var menuOpen:Boolean = false;
function yourEventHandler(e:KeyboardEvent):void {
    if (menuOpen) {
        menuOpen = false;
        //close your menu here
    } else {
        menuOpen = true;
        //open menu here
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接