2

ローダーコンポーネントを使用して、アプリの外部にswfをロードしました。ローダーのアプリケーションドメインに読み込まれます。そのswfにクラスがあり、そこからいくつかの関数を拡張してオーバーライドしたいと思います。どういうわけか可能ですか?これが私が欲しいものを説明するためのいくつかのコードです(もちろん、それは完全に正しくなく、機能しません):

public var ClassFromLoadedSwf:Class = ApplicationDomain.currentDomain.getDefinition("path.to.needed.class") as Class;
public class MyClass extends ClassFromLoadedSwf
{
    override protected function initMovie() : void
    {
         //function logic goes here
    }
}

あなたの答えをありがとう、そして私の悪い英語をお詫びします。

4

1 に答える 1

8

いいえ、できません。基本的にあなたは の意味を理解していませんApplicationDomain。ローダーとアプリケーション ドメインを使用して、実行時にコードを SWF にマージするだけです。ランタイム状態になる前は、アクセスできません。したがって、コンパイル時には、今しようとしていることを実行できません。ただし、SWF の代わりに SWC を使用することもできます。それをプロジェクト ライブラリに含めるだけです。コンパイル時にすべてのクラスにアクセスできます。この記事を読んでみてください。SWC の意味を理解するのに役立ちます。

于 2012-08-07T12:14:37.937 に答える