1

パッケージの一部である ActionScript クラスを swf にコンパイルできるように、Flex Builder 3 ProでActionScript プロジェクトを構成する方法を教えてください。たとえば、swf にコンパイルしたいクラスは次のとおりです。

package utils {
    import flash.display.Sprite;
    public class Tool extends Sprite {
        public function Tool() {

    }
}

次のようなディレクトリ構造を取ります。

RootASProject
-RootASProject.mxml
-subASProject1
--subSubASProject1a
---IASModule.as
---ASModule.as
---ASModule.swf
--subSubASProject2
-utils
--ITool.as
--Tool.as
--Tool.fla
--ツール.swf

RootASProject はある開発者によって作成され、subASProject1 と subSubASProject1a は別の開発者によって作成され、utils.Tool はさらに別の開発者によって作成されています。このディレクトリ構造により、各担当者はモジュールやその他のリソースを個別に構築し、製品全体をすばやくテストできます。これらのリソースは実行時にロードされることに注意することも重要です。したがって、クラス定義は完全に修飾されている必要があります。たとえば、Tool.swf には「Tool」ではなく「utils.Tool」が含まれているか定義されています。

Flash IDE だけで開発する場合、このディレクトリ構造は問題になりません。Tool.fla を作成し、utils.Tool をドキュメント クラスとして割り当てます。次に、Flash IDE のパブリッシュ設定で、クラス パスを現在のディレクトリ (.) ではなく、RootASProject ディレクトリに設定します 現在のディレクトリに設定されている場合、エラーは次のようになります。ソースパスにあるファイルは、定義のパッケージ「utils」と同じパッケージ構造でなければなりません。ツール Tool.as. 私たちはこのエラー メッセージをよく知っているので、Flex IDE はデフォルトで現在のディレクトリを検索して、パッケージ化されたクラスと一致するサブフォルダー utils を探していることを認識しています。

Flex IDE では、utils の親である RootASProject を追加のソース パスとして追加できますが、flex が最初に現在のディレクトリを検索するのを止める方法がわかりません。

Ant ビルド ファイルを使用して、ソース パスを RootASProject に設定すると、mxmlc で utils/Tool.swf を問題なくビルドできます。どうやら、渡されたソースパスのみを使用し、現在のディレクトリでユーティリティを自動的に検索しません。

Flash または Ant を使用することで問題が解決されることはわかっています。Ant は、大規模な自動ビルドにも適しています。ただし、迅速なデバッグ中は、Flex IDE 内にとどまり、デバッガーを使用してコードをステップ実行できることを本当に楽しんでいます。

4

2 に答える 2

1

コンパイル エラーは、ドキュメント クラスとしての使用とは無関係です。ディレクトリ構造は、クラス内のパッケージと一致する必要があります。簡単な解決策は、「utils」というフォルダーを作成し、Tool.as をそのフォルダーに移動することです。

「ドキュメント」クラスと呼ばれるものは、エクスポートされたシンボルの基本クラスです。プロジェクトが ActionScript プロジェクトであり、上記のクラスがアプリケーションとしてマークされていると仮定すると、期待どおりに動作するはずです。

于 2009-07-11T21:14:02.707 に答える
0

Flex Builder 3 以降を使用している場合は、[ファイル] > [新規] > [ActionScript プロジェクト] に移動して新しい ActionScript プロジェクトを作成し、ITool.as ファイルをメインのアプリケーション ファイルとして割り当てます。

于 2009-10-27T21:02:13.640 に答える