さんまがおいしい季節だねー(´・ω・`)

Flex3 SDK で Hello, World! よ!!

Flash,一人でできるもん! — タグ: , — さくら @ 2009/03/15 0:47

こんばんは♪さくらです☆彡

思いつきで新しいものばっかり作ってたら FLASH の話するの忘れてたわ。
この前はたしか Flex3 SDK をインスコしたわね。
前回の予告通り今日は FLASH で Hello, World! を作るわ。

の前に耳よりなお詫びよ!

Linux ユーザ向けインスコ プラス アルファ

Linux に Flex3 をインスコしても動かないことがあるわ。この前のエントリ通りに作業してもインスコできないってことね。ごめんあそばせ!
ってさくらのせいじゃないわ、Adobe のせいよ、Adobe の。

で、動かない理由はシェルスクリプトの改行コードが DOS (CRLF) になってからよ。
シェルスクリプトは Flex3 の ZIP の中の bin ディレクトリに全部置かれてるわ。
nkf でも使って直すといいわね。こんな感じよ!

$ cd $FLEX3_HOME/bin
$ rm -f *.bat *.exe
$ nkf --overwrite -Lu -d

拡張子が .bat と .exe のファイルは特に取り柄のない Windows ユーザ向けのファイルよ。オタクで根暗な Unix clone ユーザはこんなもの要らないわ。消しちゃうのよ!
$FLEX3_HOME は Flex3 をインスコしたディレクトリよ。ちゃんと本当にインスコしたディレクトリに cd するのよ。

インスコが完了した状態で mxmlc を動かすと、こんな感じで表示されるわ。

$ mxmlc
Loading configuration file /usr/local/flex3/frameworks/flex-config.xml
Error: a target file must be specified

Use 'mxmlc -help' for information about using the command line.

なんかメッセージが違うっぽかったら、ちゃんとインスコできてるか確認した方がいいわね!

やっと Hello, World! よ

長かったわ…
ブログの最初にこれを書くつもりだったのに、いつの間にやら WordPress タグが一番多くなってるわ。
何やってんの、さくら!!

めんどくさいからいきなりソースよ。
何やってるかは見れば分かるわ!

package {
    import flash.display.*;
    import flash.text.*;

    public class Hello extends Sprite {
        public function Hello() {
            var t:TextField = new TextField();
            t.text = "Hello, World!";
            addChild(t);
        }
    }
}

このソースを Hello.as に保存するのよ。
Java と同じでうっとおしいファイル命名規約があるわ。イライラする!! 生理よ、生理!イラつくの!
保存したら mxmlc で swf にコンパイルよ!!

$ mxmlc Hello.as
Loading configuration file /usr/local/flex3/frameworks/flex-config.xml
Hello.swf (621 bytes)

コンパイルが終わったら Hello.swf ができてるはずだわ。flashplayer から動かしてみるとこんな感じに表示されるはずよ。

…って flashplayer が無かったらインスコしないといけないわね。まず flashplayer は Open Source Flex SDK には含まれていないわ。Free Adobe Flex SDK か Adobe Add-ons for Open Source Flex SDK をインスコしてね。イミフなら前のエントリを見るのよ。
で、どっちかの ZIP を展開すると、runtimes/player ディレクトリに win mac lnx っていうディレクトリがあるから(lnx は Linux よ)、そっから flashplayer を探して自分でインスコするのよ。

話を戻すわね。flashplayer から動かすとこんな感じに表示されるわ。

hello

背景とか大きさとか色々文句つけたくなる感じよね。
でもそっちの前にブラウザから動かす方法を説明するわ。
だって flashplayer でしか動かないプログラムを作りたい訳じゃないでしょ?

ブラウザから Hello, World!

ブラウザから Hello.swf を実行するには、こんな感じの HTML を書けばいいわ。
まあ embed タグは HTML じゃないとか、noembed が抜けてるとか言われそうだけど…細かいことばっかり気にしてたらハゲるわよw
swf と HTML を別ディレクトリに置く場合は、param タグと embed タグの Hello.swf をちゃんとしたパスに変えるのよ。

<object
  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0">
  <param name="movie" value="Hello.swf">
  <param name="quality" value="high">
  <embed pluginspage="http://www.macromedia.com/go/getflashplayer"
    type="application/x-shockwave-flash"
    src="Hello.swf" quality="high"></embed>
</object>

実際に動かすとこんな感じね。

相変わらず背景がダサいわね。イライラするわ!だから生理だっつってんでしょ!!
背景色を変えるには mxmlc にオプションをつけて実行するといいわ。こんな感じね。

$ mxmlc -output Hello2.swf -default-background-color 0xffffff Hello.as

-output オプションは作成する swf ファイル名を変更するわ。元の Hello.swf を上書きするなら、別につけなくてもよろしくってよ。
-default-background-color はデフォルトの背景色を変えるわ。0xffffff は白ね。
このオプションで作った swf はこんな感じになるわ。

ブログと背景色が一緒なので見にくいさくらはカワイイわよ!かもしれないけど我慢してちょうだい。
だってリコンパイルしてブログにアップするの面倒なんだも〜ん♪

(2009/3/17追記) table タグで枠付けてやったわ。やっぱ困ったときはレガシーなやり方が頼りになるわね!

他のコンパイルオプションはAdobe Flex3 ヘルプ アプリケーションコンパイラのオプションについてを見るのよ!

オンラインドキュメント

Adobe のオンラインドキュメントはすべて Adobe Flex リソースからリンクされてるわ。
特に重要なのは Adobe Flex3 ヘルプAdobe Flex3 リファレンスガイドね。
Flex3 SDK 使う上で必要なことは全部ここに載ってるけど、かなり量が多いス・テ・キので見るのも大変よ。


ガンバッテね!!
さくら

1件のコメント »

  1. People are questioning for the best way to get unlimited lives, enhance snake dimension and get
    big snake skins cheats.

    コメント by Randal — 2016 年 4 月 18 日 @ 00:09

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

Copyright © 2017 さくらたんどっとびーず | powered by WordPress with Barecity