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設定)がありますが、私はそれを望んでいません。それは一般的すぎます。
理想的には、特定のエラー/警告番号を抑制できます(警告#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については言及されていません...