0

AIR3.4を使用してAndroid用にコンパイルするFlashbuilder4.7のActionscriptMobileプロジェクトがあります。(AIR SDKの場所:C:\ Program Files \ Adob​​e \ Adob​​e Flash Builder 4.7 \ eclipse \ plugins \ com.adobe.flash.compiler_4.7.0.345990 \ AIRSDK)

最近、AIR 3.2からプロジェクトを復活させましたが、新しいランタイムエラーが発生しました。SWFからMovieClipアセット(truck_anm_mc)をインポートします(元々はFlash CS3からAS3で公開されましたが、Flash CS6を使用して再公開されました)。「truck_anm_mc」MovieClipには、インスタンス名が「Flick」の別のMovieClipが含まれています。

インポート方法は次のとおりです。

    public var _truck_anim      :MovieClip;
    [Embed(source='/assets/blue/animation004.swf#truck_anm_mc')]
    public var TruckAnim            :Class;

これはそれがどのように使用されるかです(私はそれへのすべてのさらなる参照をコメントアウトしました-これはそれを使用するコードの唯一の行です、私がこの行をコメントアウトするとエラーは消えます):

    _truck_anim = new TruckAnim() as MovieClip;

これはエラーです:

ReferenceError: Error #1056: Cannot create property Flick on animation004_swf$915bbdce658b4869e6dc24efe65092b42084086601.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at animation004_swf$915bbdce658b4869e6dc24efe65092b42084086601()
    ...

フリックはtrack_anm_mcのタイムライン上にあります。タイムラインからフリックを削除してもエラーはありません。

エラーは、プロパティFlickをスプライト上に作成できないことを報告します。これは、truck_anm_mcがスプライトの場合は意味がありますが、MovieClipであり、任意のプロパティを追加できるはずです。

[ステージインスタンスを自動的に宣言する]オプションをオンにした場合としない場合で作成されたSWFを試しました。TLFやRSLを使用していません。これは非常にシンプルなSWFで、タイムライン上に別のMovieClipモーションがトゥイーンされたMovieClipが含まれています。

MovieClipsは、MovieClipベースドキュメントクラスを使用し、クラスはFlashによって動的に作成されます。私はtrack_anm_mcのドキュメントクラスを作成し、Flickをパブリック変数として宣言しようとしましたが、エラーを回避できませんでした。

4

1 に答える 1

0

別の方法を使用してインポートすることで、同じ MovieClip アセットを正常に使用できました。MovieClip を SWC ファイルにエクスポートし、Actionscript Mobile プロファイルからそのファイルを参照しました。メソッドに関する便利なチュートリアルを次に示します。

http://www.codeandvisual.com/2009/how-to-import-movieclips-into-a-flash-builder-actionscript-project/

于 2012-10-14T02:44:08.593 に答える