「Flex sdk」タグアーカイブ

flex sdk 4 も再インストール

ubuntu lucid にしてからも flex sdk 4 はインストールしていたが、或る時 ver.3.5 の explorer.html は使えないものかという邪心を起こして失敗した。

今度はそんなドジするまいとインストール。 インストールと言っても任意のフォルダに展開するだけ。

adobe サイトには flashplayer-installer の libflashplayer.so を削除とあるので、runtimes フォルダのものをペースト。
そうしなければ、ウェブ上の youtube などが再生できなかった記憶がある。

あとは .profile という /home/name にある隠しファイルにパスを通す。

# flex4 sdk settings 2010/05/26
FLEX_HOME='~/flex'
PATH=$PATH:$FLEX_HOME/bin:$FLEX_HOME/runtimes/player/10/lnx

そこで僅かに残っていた usb メモリからいくつかの mxml をコンパイルしてみた。

flex sdk 3.5 を使っていた人はご存知であるはずのファイルサイズを見たかったというのもある。 3.5 では as ファイルをコンパイルしたものはともあれ、mxml 仕様のタグで書かれたものは押しなべて 170kb ~ 220kb という「重い」ものであったから、気軽にと言うシロモノでなかった。

svg.mxml

<?xml version="1.0" encoding="utf-8"?>

<!-- Flexコンポーネントサンプル: mx.controls.Image(イメージ) -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" styleName="plain" pageTitle="Flexコンポーネントサンプル: mx.controls.Image(イメージ)">

    <mx:Panel id="myPanel" title="イメージサンプル" 

        height="180" width="400" horizontalAlign="center" paddingTop="10" paddingLeft="10">

    <mx:Script>
    <![CDATA[
            [Embed(source="assets/borra.svg")]
            [Bindable]
            public var SvgBorra:Class;            
        ]]>
    </mx:Script>
        <mx:Label color="blue" text="埋め込みイメージは@Embed()ディレクティブを使用します。"/>
	<mx:Image id="borra" source="{SvgBorra}" width="240" height="80" />
    </mx:Panel>

</mx:Application>

タダの svg 画像をパネルに埋め込んだだけのものであるが、ver.3.5 でコンパイルした時にはナント 196,448 bytes もあった。 しかし、ver.4 でコンパイルすると、

$ ~/flex$ mxmlc mxml/svg.mxml
設定ファイル "/home/name/flex/frameworks/flex-config.xml" をロードしています
/home/name/flex/mxml/svg.mxml: 警告: SVG の使用は Flex4 以降推奨されていません。Flash XML Graphics (FXG) を使用してください。

/home/name/flex/mxml/svg.swf (43408 バイト)

どうやら仕様に大幅な変更があったと思われる。 ということは FXG を勉強せねば ・・・。 それにしてもファイルサイズが数分の一、これなら、納得。

ただ ver.3.5 で出力した swf をローカル表示しても、 firefox は「完了」なのだが、ver.4 で出力したものは「fpdownload.adobe.com を読み込みました」とステイタスバーに表示される。 fp とは flashplayer か。

それにしても「FXG とは何ぞや」から始めることになるのか。

security error #2028

久しぶりに Flex sdk 4 に explorer.html がなかったので、flex sdk 3.5 のものをコピーして ./build.sh を実行してみた。

15 分近くかかって、イザ explorer.html を firefox に放り込むと、

flexerr2028

Flex sdk ubuntu firefox
前回 3.5 9.10 3.5.7
今回 4.1 10.04 3.6.3

AS3 の書式でクリアできることもあるらしいが、それを極めるスキルはナシ。

windows 上なら cfg ファイルの操作と言うのもあるようだが、あいにく ubuntu だし。

コンパイル時に -use-network=false を加えるといいらしい。

flex_sdk 4.1.0

Flex_SDK 4.1.0 をインストールする。 もちろん 3.5 の時 libflashplayer.so を flashplugin-installer から削除していたので、同じようにした。

もちろんパスも 3.5 の時と同じように通した。 しかし、どのブラウザからも「フラッシュプレーヤがないよ」と叱られる。 何度 ubuntu を再起動したことか。

思い余って FlexSDK のデバッグ・プレイヤを元の flashplugin-installer に戻した。 3.5 バージョンで作成した swf を Firefox に放り込んでみた。 すると、正しい位置に正しく swf が描画された。 どうやら 3.5 とは大幅に変わったということだった。

Flex 3互換動作を指定する場合、コンパイルするにも -compatibility-version=3.0.0 を付加して

$ mxmlc ~.mxml -compatibility-version=3.0.0

としなければならないらしい。