fc2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
FlexBuilder3とFlashBuilder4の違いではまった(UIcomponent)
おつかれさまです。フッチーです。

最近モバイルでActionScript2いじるのが多かったのですが、別に受注案件で再びActionScript3生活に戻りつつあります。個人的には、ホントは現場離れて、研究とか企画とか仕事の回しだけやっていたいんですが・・・そうもいかず。

で、1つはAdobeAirを使った案件。
FlashBuilder4のお出ましです!!

FlashBuilderでAirアプリを作るときは、Flexプロジェクトを作り、種類をデスクトップ(Air)にしてあげます。
CSでもAirアプリは作れるんですが、うちはAirアプリはいつもBuilderでやってます。
なんかCSでは、Air制作の時は、traceが効かないって聞きましたが、CS5ではどうなんだろ・・・そういえば。

さて、お題のとおりなんですが、今日は「UIComponent」で引っかかりました。

Flexプロジェクトつまりは、MXML上のFlexコンポーネントに、スプライトやムービークリップをそのままaddChildしようとするとエラーになります。知ってる人も多いと思いますが、「UIComponent」でくるんであげる必要があります。

var layer:UIComponent = new UIComponent();
var _mc:MovieClip = new MovieClip();

layer.addChild(_mc);
addChild(layer);

こんな感じです。

で、今日同じ事をうやったら、エラーになった?「なんで?」としばらくネットで調べたり本屋に行って格闘。
やっと答えが判明。

var layer:UIComponent = new UIComponent();
var _mc:MovieClip = new MovieClip();

layer.addChild(_mc);
addElement(layer);  ← ここが違ってた。

FlashBuilder4は、UIComponentを張るときは、addChildじゃなくaddElementじゃないといけないらしいい。なんで又と思ってたらFlashBuilder4は、Sparkコンポーネントを使うらしく、FlexBuilder3の時のMXコンポーネントと違うらしい。

よく見ると、MXMLも
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
             xmlns:s="library://ns.adobe.com/flex/spark"
             xmlns:mx="library://ns.adobe.com/flex/mx">

となっている。

FlexBuilder3の時は
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800" height="600">

とこんな感じであった。
<mx: ではじまるか <s: ではじまるかでどっちのコンポーネント上で動くかを表しているので、旧バージョンもしっかり互換が確保されてるってことなので <mx: で書けば、おそらくaddChildでもいくんでしょうね。

Sparkコンポーネント(デフォルト)の書くときも、しっかり
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"

と名前空間が宣言されているし、SparkコンポーネントとMXコンポーネントは混在していいみたいです。

AdobeのFlex デベロッパーセンターにコンポーネントの違いの情報がのってました。
Flex 3とFlex 4との違い

旧FlexBuilder3のプロジェクトをFlashBuilder4に、結構もってきていじってたんですが、まあ全然問題おきなかったので油断してた。新規でつくらないと、こういうことはおきないのね。

新技術は最初調べたり覚えるのに時間を使ってしまうけど、まあ結構疲れました。

テーマ:Flash - ジャンル:コンピュータ

カテゴリー:Flash | TM(0) | CM(0)