1

Flash Pro 5.5 で作成された swf があり、ステージ上に複数の子ムービークリップがあります。子の 1 つで、コンポーネント定義ダイアログを使用して、その子を以下に示す SmartAsset クラスのインスタンスにしようとしました。次に、パブリッシュされた親 swf を実行時にメイン アプリケーションにロードします (これには BulkLoader を使用します)。アセットは正常に読み込まれますが、問題の子は SmartAsset タイプではなく、普通の MovieClip です。不思議なことに、2 つの動的プロパティが追加されています。type (SmartAsset クラスから、Flash Pro で設定した正しい値を使用) と、役に立たない componentInspectorSetting です。Flash でこの子の型を SmartAsset として保持するにはどうすればよいですか?

目標は、デザイナーが Flash Pro のグラフィカル コンポーネント UI を使用してカスタム属性をアセットの子に割り当てられるようにすることです。メイン アプリケーションは、これらの属性に基づいて、これらの子を異なる方法で処理できます。入ってきた動的プロパティを使用することで解決できますが、子が SmartAsset の実際のインスタンスであるため、SmartAsset を拡張でき、Flash がすべての機能を維持できることを知っていれば安心です。

package  {
    import flash.display.MovieClip;

    public class SmartAsset extends MovieClip {

        private var _type:String;

        [Inspectable(name="type", variable="type", enumeration="phys_circle,phys_square,phys_polygon,placeholder,proxy,subpart", defaultValue="subpart")]
        public function get type():String {return _type;}
        public function set type(value:String):void {_type = value;}
    }
}

私が成功せずに試したこと:

  • LoaderContext null または ApplicationDomain.currentDomain を持つもの
  • SmartAsset をメイン アプリケーションにインポートし、registerClassAlias を使用します。
4

0 に答える 0