В Flash Professional CS4 я получаю предупреждения о «проблеме миграции», когда использую имена обработчиков ввода мыши / клавиатуры, такие как onMouseDown, onKeyUp и т. Д., Хотя я добавил для них прослушиватели событий. Эти имена совершенно допустимы для функций, но, поскольку они были автоматически запущены в ActionScript 2.0, мы теперь (хотя и разумно) предупреждены, что их использование больше не является автоматическим в AS3.
Я понимаю цель предупреждений, но они для меня бесполезны. Я хочу подавить эти предупреждения, но без подавляя любые другие предупреждения, которые я обычно делаю нахожу полезными.
Например, когда я использую такой код:
/** @constructor */
public function MyClass() {
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
protected function onMouseDown(e:MouseEvent):void {
Я получаю досадное предупреждение:
Warning: 1090: Migration issue: The onMouseDown event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'mouseDown', callback_handler).
Существуют флаги гибкого компилятора (mxmlc) (и настройки Flash Pro), которые могут подавлять предупреждения ActionScript или все предупреждения, но я этого не хочу. Это слишком общее.
В идеале я мог бы подавить конкретную ошибку / номер предупреждения (Warning # 1090).
Редактировать : Я нашел более «продвинутые» флаги компилятора с mxmlc -help advanced
, которые выглядят многообещающими. В частности, следующие вероятные кандидаты выглядят следующим образом:
warn-deprecated-event-handler-error
warn-deprecated-function-error
warn-deprecated-property-error
Как мне заставить Flash использовать их?
Редактировать 2 : я нашел документ в стиле flex-info.xml в каталоге данных пользователя Flash.
[userdatafolder]/Adobe/Flash CS4/en/Configuration/ActionScript 3.0/FlexInfo.xml
Однако этот файл содержит неутешительный комментарий: <!-- Flash does not support most flex-config options. -->
и, похоже, не отвечает на мои директивы даже после перезапуска flash.
Это становится грустным.
Редактировать 3 : Обнаружена ошибка " Ошибочные, раздражающие предупреждения" Проблема миграции "" в трекере ошибок Adobe. Исправление для Flex SDK подтверждено, но не упоминается Flash ...