Flash Builder 4 で FXG コンポーネントをつかう
海賊王をめざす男 マツです。こんにちは。
Flash Builder 4 がついにリリースです。
Flex SDK 4 によるコンパイラの高速化やコード補完の強化など期待が高まるポイントが満載です。
今回は、FXG という新しい画像ファイルフォーマットを触ってみます。
src/component/GraphicComponent.fxg
<?xml version="1.0" encoding="utf-8"?> <Graphic xmlns="http://ns.adobe.com/fxg/2008" version="2"> <Rect id="rect1" width="200" height="200"> <fill> <SolidColor color="#cccccc"/> </fill> <stroke> <SolidColorStroke color="#666666" weight="2"/> </stroke> </Rect> </Graphic>
この FXG は 200 × 200 px のグレー色のボックスを表現しています。
FXG は MXML Graphics という XMLベース言語で構成されています。
src/Main.mxml
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:component="component.*"> <component:GraphicComponent id="graphicComponent"/> </s:Application>
FXG をコンポーネントとして利用することができます。
【デモ】
続いて、FXG ファイルを Illustrator CS4 で書き出してみます。

星を描いたら、[ファイル]_[別名で保存]します。ファイルの種類は FXG を選択します。
src/component/StarComponent.fxg
<?xml version="1.0" encoding="utf-8" ?>
<Graphic version="1.0" viewHeight="300" viewWidth="240" ai:appVersion="14.0.0.367" d:id="1" xmlns="http://ns.adobe.com/fxg/2008" xmlns:ai="http://ns.adobe.com/ai/2008" xmlns:d="http://ns.adobe.com/fxg/2008/dt">
<Library/>
<Group x="75" y="70" d:id="2" d:type="layer" d:userLabel="レイヤー 1">
<Path winding="nonZero" ai:knockout="0" data="M26.2109 1.12988L33.9785 16.8687 51.3472 19.3926 38.7788 31.6431 41.7456 48.9414 26.2109 40.7744 10.6763 48.9414 13.6431 31.6431 1.07471 19.3926 18.4434 16.8687 26.2109 1.12988Z" >
<fill>
<SolidColor color="#fff200"/>
</fill>
<stroke>
<SolidColorStroke color="#ff9100" caps="none" weight="1" joints="miter" miterLimit="4"/>
</stroke>
</Path>
</Group>
<Private>
<ai:PrivateElement d:ref="#1">
<ai:SaveOptions>
<ai:Dictionary>
<ai:DictEntry name="writeImages" value="1" valueType="Boolean"/>
<ai:DictEntry name="includeXMP" value="0" valueType="Boolean"/>
<ai:DictEntry name="includeSymbol" value="0" valueType="Boolean"/>
<ai:DictEntry name="aiEditCap" value="1" valueType="Boolean"/>
<ai:DictEntry name="versionKey" value="1" valueType="Integer"/>
<ai:DictEntry name="clipToActiveArtboard" value="1" valueType="Boolean"/>
<ai:DictEntry name="downsampleLinkedImages" value="0" valueType="Boolean"/>
<ai:DictEntry name="rasterizeResolution" value="72" valueType="Integer"/>
<ai:DictEntry name="preserveGradientPolicy" value="3" valueType="Integer"/>
<ai:DictEntry name="preserveFilterPolicy" value="3" valueType="Integer"/>
<ai:DictEntry name="preserveTextPolicy" value="3" valueType="Integer"/>
</ai:Dictionary>
</ai:SaveOptions>
<ai:DocData base="StarComponent.assets/images"/>
<ai:Artboards originOffsetH="0" originOffsetV="300" rulerCanvasDiffH="120.5" rulerCanvasDiffV="-149.5" zoom="2.89">
<ai:Artboard active="1" index="0" right="240" top="300"/>
<ai:ArtboardsParam all="0" range="" type="0"/>
</ai:Artboards>
</ai:PrivateElement>
<ai:PrivateElement d:ref="#2">
<ai:LayerOptions colorType="ThreeColor">
<ai:ThreeColor blue="257" green="128.502" red="79.31"/>
</ai:LayerOptions>
</ai:PrivateElement>
</Private>
</Graphic>
このように Illustrator から FXG 形式で保存したものは、MXML Graphics で記述されています。
src/Test_1.mxml
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:component="component.*"> <component:GraphicComponent id="graphicComponent"/> <component:StarComponent id="starComponent"/> </s:Application>
Illustrator CS4 で書き出した FXG ファイルをコンポーネントとして利用します。
【デモ】
この様に FXG を利用することで、簡単にスキンやアセット、コンポーネントとしてつかえるのは便利です。
まだ、うまく利用することができていないので、いろいろ試していきたいと思います。

