人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FlashとFlexのコンパイラの違いについて教えてください。(急いでいるので、ベストな回答には300pt差し上げます)

あるプロジェクトで、ActionScriptで書かれたソースを引き継ぎました。
開発は、プロジェクトの事情で、Flash CS3 Professionalでおこなっています。

そのソースコード中にmx.*というパッケージが使われていました。
しかし、Flash CS3上でコンパイルするとコンパイルが通ってしまいます。

調べてみたかぎりだと、Flash CS3が使用するパッケージは fl.* で、
mx.* はFlexが使用するパッケージとの認識なのですが、
なぜコンパイルが通ってしまうのでしょうか?

ちなみに、私の環境にはFlex Builderはインストールしていません。

初心者な質問で申し訳ありませんが、よろしくお願いします。


●質問者: kenk
●カテゴリ:コンピュータ インターネット
✍キーワード:ActionScript Builder Fl Flash Flex
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tedmans
●5ポイント

普通にFlashのコンポーネントとして扱えるよ


http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/commo...

Flash CS3 ドキュメンテーション

ActionScript 2.0 コンポーネントリファレンスガイド > DataGrid コンポーネント > DataGrid クラス

DataGrid クラス

継承 MovieClip > UIObject クラス > UIComponent クラス > View > ScrollView > ScrollSelectList > List コンポーネント > DataGrid

ActionScript クラス名 mx.controls.DataGrid

各コンポーネントクラスには version というクラスプロパティがあります。クラスプロパティは、クラス自体に対してのみ使用できます。version プロパティは、そのコンポーネントのバージョンを表すストリングを返します。このプロパティにアクセスするには、次のコードを使用します。

trace(mx.controls.DataGrid.version);

メモ

コード trace(myDataGridInstance.version);は undefined を返します。

◎質問者からの返答

ありがとうございます。


2 ● nitoyon
●300ポイント ベストアンサー

Flex のコンポーネントが mx.* の名前空間を利用する、というのは正しいです。


Flash IDEではFlash 8以前とFlash CS3(Flash 9)で名前空間が異なります。Flash 8以前のコンポーネントは mx 名前空間にあります。id:tedmans さんが張ってるのも Flash MX(ActionScript 2)のドキュメントですね。


Flash CS3 からはコンポーネントは fl 名前空間に移動しました。これは、おそらく Flex のものと混乱しないように名前空間を分けたかったのでしょう。Flex に比べ、Flash CS3 のコンポーネントは低機能ですがシンプルでそのぶん、高速な

動作をするようです。


さて、「Flash CS3 で mx 名前空間を利用しているファイルをコンパイルできた」とのご質問ですが、これは ActionScript 2 を利用する設定になっているからでしょう。


kanouk さんがコメント欄に書いている createClassObject や mx.xpath.XPathAPI は Flash 8(ActionScript2)のクラスや関数ですね。

Adobe - Design Center : Flash 8からFlash CS3 Professionalへの移行が参考になると思います。

ActionScript 3.0が導入されとはいえ、すぐに移行できる人ばかりではありません。ActionScript 2.0で制作する機会もあるでしょう。Flash CS3では、V2コンポーネントも使用できるようになっています。

新規ファイルを作成する際に、ファイルタイプから「Flashファイル(AS2.0)」を選ぶと、コンポーネントパネルにはV2コンポーネントが表示されます。ファイルタイプから「Flashファイル(AS3.0)」を選ぶと、コンポーネントパネルにはActionScript 3.0コンポーネントが表示されます(図41)。

ちなみに、V2 コンポーネントというのが ActionScript2 で作成された Flash 8 付属のコンポーネント群のことです。

◎質問者からの返答

ありがとうございます!

よくわかりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ