如何通过嵌入在HTML中的Flash应用程序控制移动软键

时间:2020-03-06 14:49:19  来源:igfitidea点击:

我有一个运行Flash 9(CS3)的Flash应用程序。当此Flash应用程序加载到受支持的移动设备中时,应用程序能够控制软键。但是,当将应用程序嵌入HTML页面并通过支持的移动设备进行浏览时,该应用程序将无法控制。任何想法如何使这项工作?

谢谢
凯尔蒂

解决方案

如果浏览器/ OS将事件嵌入Flash,则没有特殊的方式接收嵌入到HTML中的软键事件,那么我们可以像捕获其他任何键事件一样捕获它们:

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语句,则可以有多个与一个动作相关联的键码,还可以创建一个桌面版本以进行测试。我自己做的。