У меня есть флеш-приложение с Flash 9 (CS3). Приложение может управлять программными клавишами, когда это флэш-приложение загружается на поддерживаемое мобильное устройство. Но у приложения нет контроля, когда он встроен в HTML-страницу и просматривается через поддерживаемое мобильное устройство. Есть идеи, как это сделать?
Спасибо Кирти






Не существует специального способа получать события программных клавиш при внедрении в 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, у вас может быть несколько кодов клавиш, связанных с действием, вы также создаете настольную версию для тестирования. Я сам это сделал.