我有一个运行 Flash 9 (CS3) 的 Flash 应用程序。当此 Flash 应用程序加载到受支持的移动设备中时,应用程序能够控制软键。但是,应用程序无法控制何时将其嵌入 HTML 页面并通过支持的移动设备进行浏览。任何想法如何使这项工作?
谢谢 Keerthi
嵌入 HTML 时没有特殊的方式来接收软键事件 - 如果浏览器/操作系统将事件提供给 Flash,那么您可以像任何其他键事件一样捕获它们:
var myListener = new Object();
myListener.onKeyDown = function() {
var code = Key.getCode();
if (code==ExtendedKey.SOFT1) {
trace("I got a soft key event");
}
}
Key.addListener(myListener);
但是,您会发现当您的 SWF 嵌入 HTML 时,大多数手机/浏览器不会为您提供软键事件。这不是 Flash Lite 规范的一部分——严格来说,我相信如果他们愿意,他们可以为您提供这些事件,但大多数手机只是将这些键用于浏览器功能,并在进入 Flash 之前使用它们。
请注意,您可以在运行时检查软键是否可用:
trace(System.capabilities.hasMappableSoftKeys);
trace(System.capabilities.softKeyCount);
如果你使用 switch 语句,你可以有多个键码与一个动作相关联,你也可以制作一个用于测试的桌面版本。我自己做过。