Flash Catalystの使い方。エフェクトが簡単に付けられるよ!

昨日のFxugの勉強会Flash Catalystを勉強させてもらったので使ってみました。

サンプルはこちら
http://moeten.info/flex/20090625_flashCatalystTest1/deploy-to-web/Main.html
ボタンをクリックするとステート1からステート2へ変化します。
簡単に作成できます。エフェクトも簡単に設定できます。
簡単な説明

PhotoShopでデザイン


自由にPhotoShopでデザインしていけばOK。
レイヤーやフォルダ構造もそのまま反映してくれます。
ただ、気をつけることとして以下の問題があります。

  • レイヤースタイルは反映されない
  • マスクは反映されない
  • グループ化(レイヤークリッピングかな?)は反映されない

フォントなどは普通に出力されます。でもFlash再生側でフォントがないと希望のフォントで表示されないと思う。

ファイル⇒別名で保存

fxg形式で保存

Flash Catalystで読み込み

先ほどで作成したデザインファイルをFlash Catalystで読み込みます。

Flash Catalystの起動ウィンドウからfxg読み込みを選択

大きい画像使っているからイメージの最適化を行ってねってウィンドウです。

こんな感じにうまくレイヤー構造も含まれて読み込まれます。

エフェクトをつけていく

これは簡単でステートAからステートBでの違いをエフェクトでつなげてくれます。

おもむろにステートを作成

ステート2を選択して、レイヤー構造から目をクリックて不可視にする。
ちなみにオブジェクトを選択して移動させてもOK。ムーブエフェクトが使えるようになります。

エフェクトパネルに注目して、フェードの部分を引き延ばす。

とりあえずここで再生ボタンで再生するとフェードアニメーションされる。

swfに書き出した時、これだけだと、ページ読み込み時にステート1で止まったままでステージ2へ行くアクションがない(Ctrl+Enterで確認できます)ので作成する。
ステート1を選択して、HUDウィンドウにてアクションを追加

読み込み時にステート2へ移動アクションをプルダウンで指定(簡単!)。
完成!
あとはファイルからswfに書き出しすれば完成でっす。
最終的に書き出されたソース

<?xml version='1.0' encoding='UTF-8'?>
<s:Application xmlns:d="http://ns.adobe.com/fxg/2008/dt" xmlns:fc="http://ns.adobe.com/thermo/2009" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:lib="Main_library.*" height="984" width="1772" xmlns:mx="library://ns.adobe.com/flex/halo">
    <fx:Script>
        <![CDATA[
            protected function Button_click():void
            {
                currentState='Page2';
            }
        ]]>
    </fx:Script>
    <s:transitions>
        <s:Transition fromState="Page1" toState="Page2" autoReverse="true">
            <s:Parallel>
                <s:Parallel target="{group1}">
                    <s:Fade duration="950" startDelay="200"/>
                </s:Parallel>
                <s:Parallel target="{group2}">
                    <s:Fade duration="800" startDelay="700"/>
                </s:Parallel>
                <s:Parallel target="{image1}">
                    <s:Fade duration="750"/>
                </s:Parallel>
            </s:Parallel>
        </s:Transition>
    </s:transitions>
    <s:states>
        <s:State name="Page1"/>
        <s:State name="Page2"/>
    </s:states>
    <mx:Image source="@Embed('assets/Graphic1.swf')" maintainAspectRatio="false" fc:isFXGAsset="true" visible.Page1="false" id="image1"/>
    <s:Group d:userLabel="グループ_2" x="1280" y="4" visible.Page1="false" id="group1">
        <s:BitmapImage width="500" height="472" source="@Embed('assets/DSC_4391 のコピー/レイヤー 4.png')" d:locked="true" d:userLabel="レイヤー_4" resizeMode="scale"/>
        <s:RichText fontFamily="Fiolex Girls" fontSize="62" color="0xef42a4" whiteSpaceCollapse="preserve" x="80" y="123" d:userLabel="6/24">
            <s:content><s:p><s:span>6/24</s:span></s:p></s:content>        </s:RichText>
    </s:Group>
    <s:Group d:userLabel="グループ_3" x="-90" visible.Page1="false" id="group2">
        <s:BitmapImage y="15" width="1000" height="984" source="@Embed('assets/DSC_4391 のコピー/背景 のコピー.png')" d:locked="true" d:userLabel="背景_のコピー" resizeMode="scale"/>
        <s:BitmapImage x="45" width="1000" height="984" source="@Embed('assets/DSC_4391 のコピー/背景 のコピー 2.png')" d:userLabel="背景_のコピー_2" resizeMode="scale"/>
        <s:RichText fontFamily="Fiolex Girls" fontSize="36" color="0xe600a8" whiteSpaceCollapse="preserve" x="118" y="826" d:userLabel="Uti">
            <s:content><s:p><s:span>Uti</s:span></s:p></s:content>        </s:RichText>
        <s:BitmapImage x="545" y="480" width="322" height="290" source="@Embed('assets/DSC_4391 のコピー/レイヤー 12.png')" d:userLabel="レイヤー_12" resizeMode="scale"/>
    </s:Group>
    <s:Button label="ボタン" x="756" y="280" id="button1" skinClass="components.___1" click="Button_click()"/>
</s:Application>

Flash Catalystちょろっと使ってみた感じでは、Flashユーザーのためのプログラムツールなのかなぁって思う。もちろん、ここからFlexに渡して、デザインを気にすることなく作業もできるけど、簡単なFlashであればFlash Catalystだけでもいいのかなぁって思う。ネットワークと連携するときはもちろんFlexで!
Flexユーザーは今後、Flash Catalystユーザーのためにもステートを勉強しておいたほうがいいかも?
リンク