帮助,我是AS2的新手(Flash一般),我试图制作一个由键盘控制的基本菜单。这是我的代码
onClipEvent(enterFrame){
if(Key.isDown(Key.DOWN))
{
if(_root.menu1._currentframe==1)
{
_root.menu1.gotoAndStop(2);
}
}
if(Key.isDown(Key.UP))
{
if(_root.menu1._currentframe==2)
{
_root.menu1.gotoAndStop(1);
}
}
if (Key.getCode() == Key.ENTER)
{
if(_root.menu1._currentframe==1)
{
gotoAndStop("stage1");
}
else{ gotoAndStop("stage2"); }
}
}
向上和向下按钮工作正常,但输入没有。有什么建议吗?
答案 0 :(得分:0)
您的代码可能正在运行,有时当您在Flash环境或IDE中进行测试时,Key.ENTER
事件并不会显示。
尝试发布代码并在浏览器中运行代码,也可以添加动态文本字段或使用控制台进行调试。
您还可以使用keyListener对象而不是enterFrame事件。如果您想尝试,请尝试将此代码添加到时间轴中的框架
//import the external interface code
import flash.external.ExternalInterface;
// Create a key listener object;
var keyListener:Object = new Object();
// Add the onKeyDown functionality
keyListener.onKeyDown = function() {
// Convert incoming key presses to Ascii
var keyLetter = String.fromCharCode(Key.getAscii());
// get the Key code
var keyCode = Key.getCode();
// output the keyCode and keyLetter to the browser console / developer tools / firebug
// When testing in a browser press F12 on the keyboard to show them
// make sure you click on the SWF movie to get the focus then press keys
ExternalInterface.call("console.log", "["+keyCode+"] "+keyLetter)
// trace this so we can compare in Flash
trace( "["+keyCode+"] "+keyLetter);
if (Key.isDown(Key.ENTER)) {
ExternalInterface.call("console.log", "ENTER key pressed!")
}
};
// Add the listener
Key.addListener(keyListener);