在 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).
有可以抑制动作脚本警告或所有警告的 flex 编译器 (mxmlc) 标志(和 Flash Pro 设置),但我不希望这样。这太笼统了。
理想情况下,我可以抑制特定的错误/警告编号(警告 #1090)。
编辑:我发现了更多的“高级”编译器标志mxmlc -help advanced
,看起来很有希望。具体来说,以下似乎是可能的候选人:
warn-deprecated-event-handler-error
warn-deprecated-function-error
warn-deprecated-property-error
如何让 Flash 使用这些?
编辑 2:我在 Flash 用户数据目录中找到了一个 flex-info.xml 样式的文档。
[userdatafolder]/Adobe/Flash CS4/en/Configuration/ActionScript 3.0/FlexInfo.xml
然而,这个文件包含一个令人失望的评论:<!-- Flash does not support most flex-config options. -->
,并且即使在重新启动闪存后似乎也没有响应我的指令。
这越来越难过了。
编辑 3 :在 Adobe 错误跟踪器上发现一个问题“错误、烦人的“迁移问题”警告”。已确认 Flex SDK 已修复,但未提及 Flash……