DispatchEvent() をオーバーライドしようとしていますが、Flash IDE では成功しません。メソッドに関するAdobeドキュメントを確認すると、次のようになります。
override function name()
Grant Skinnerが示しているように、これは一般的かつ簡単に実行できます。
override public function dispatchEvent(evt:Event):Boolean {
// code here
}
Google で徹底的に検索すると、クラス ファイルで正常に使用されているこの構文が繰り返されますが、タイムライン コード内でネイティブに Flash IDE でこれを行うことは不可能であることが証明されています。最初の問題は、の使用がpublic
エラーをスローすることです1114: The public attribute can only be used inside a package.
それは明らかでしたが、それを削除すると、次のように実行されます (新しい .fla ファイルの最初のフレームで):
override function dispatchEvent(evt:Event):Boolean {
trace(evt.type);
return super.dispatchEvent(evt);
}
このエラーが発生します。1024: Overriding a function that is not marked for override.
このエラーに関するドキュメントは、私が同じ名前の関数の前にステートメントを付けていなかったことを暗示していますoverride
が、明らかにそれは誤りであり、解決策が何であるかについて私は驚いています。
明確にするために、クラス ファイルが機能することはわかっていますが、それは無関係な問題です。override function dispatchEvent()
タイムライン コードで作業するにはどうすればよいでしょうか。