AS3でのフルスクリーンモード
最小のサンプル。
package {
import flash.display.Sprite;
import flash.display.StageDisplayState;
import flash.events.MouseEvent;
import flash.events.FullScreenEvent;
public class FullScreeeeeen extends Sprite {
public function FullScreeeeeen() {
stage.addEventListener(MouseEvent.CLICK, clickHandler);
stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler);
}
private function clickHandler(event:MouseEvent):void {
if (stage.displayState == StageDisplayState.NORMAL) {
stage.displayState = StageDisplayState.FULL_SCREEN;
}
}
private function fullScreenHandler(event:FullScreenEvent):void {
if (event.fullScreen) {
trace("enter fullScreen mode");
}
else {
trace("leave fullScreen mode");
}
}
}
}
これだけ。あとは addParam("allowFullScreen", true)
(SWFObject書式) すれば使える。
今の Flex2 SDK だったら追加のインストールファイルは何も必要ない模様。
コンパイル時間参考
swc使用
(fcsh) mxmlc -benchmark -include-libraries=../flexunit/bin/flexunit.swc main.mxml
fcsh: Assigned 12 as the compile target id
Loading configuration file /home/typester/app/flex/frameworks/flex-config.xml
Initial setup: 62ms
Loaded 9 SWCs: 8485ms
Files: 435 Time: 21804ms
Linking... 815ms
Optimizing... 427ms
SWF Encoding... 862ms
/home/typester/tmp/flexunit/test/main.swf (241615 bytes)
Total time: 32459ms
Peak memory usage: 387 MB (Heap: 358, Non-Heap: 29)
ソースから
(fcsh) mxmlc -benchmark -source-path=../flexunit/src/trunk/src/actionscript3 main.mxml
fcsh: Assigned 13 as the compile target id
Loading configuration file /home/typester/app/flex/frameworks/flex-config.xml
Initial setup: 66ms
Loaded 8 SWCs: 3169ms
Files: 433 Time: 57148ms
Linking... 25ms
Optimizing... 394ms
SWF Encoding... 297ms
/home/typester/tmp/flexunit/test/main.swf (239897 bytes)
Total time: 61109ms
Peak memory usage: 399 MB (Heap: 371, Non-Heap: 28)
長すぎる。VMだからメモリ足りないからかもしんない。
AS3のテスト
これ試してみた。
Flex Builder 2 がいるとか書いてあるけど、Flex2 SDK でも使えた。
この記事の例のをコンパイルするには
mxmlc -include-libraries=../flexunit/bin/flexunit.swc main.mxml
こんな感じでいいよう。
-include-libraries
の代わりに -source-path
で as ライブラリの位置指定してもいけるけどコンパイル時間がすげー長くなってしまう。
てか、swc 使っても長いんですけど。fcshつかった二回目以降のコンパイルでもおっせぇのでFlexって大変だなぁとか思ったり。
このテストアプリはFlexで作られているけど、テストは普通のAS3クラスに対して行えるので、まぁ一応使えるかなぁと言う印象。
作ってるアプリディレクトリに test.mxml、Test.as を置く感じになるかなぁ。
めんどいなー。誰かがasだけでテストクラス書いてくれるのを待とう。
as2(MTASC) -> as3(Flex2 SDK) の印象
as2もjsコンポーネントとして使うとか変な使いかたしかしていなかったけど、それと比較したas3のぱっと見の印象。
Socketクラス
バイナリ通信用のSocketクラスができたらしい。これはアツイ。
あとas2+XMLSocketのときの1024以上のポートしか通信できないという制限もなくなっているようだ。
正規表現
つかえるーー。//x
とかもつかえる
リファレンスはオンラインのみ?
しかないのかな? 今までのlivedocsと比べるとまぁ許せる範囲だけど。
Flex2 SDK いれた
as3関係スルーしていたけど、なんか公式でFlex2 SDKとか言うのが無償で公開されていてMTASCライクにコマンドラインからas3アプリを作成できる環境があるようなのでためしてみた。@ colinux (Debian etch)
Flex2 SDKはjava製なのでまずJavaのRuntimeを入れる必要がある。
etchにはnon-freeにsun javaが入ってるのでそれを入れる
$ sudo aptitude install sun-java5-jre
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
The following NEW packages will be automatically installed:
defoma gsfonts gsfonts-x11 java-common libfontenc1 libfs6 libft-perl libttf2 libxext6 libxfont1 libxi6 libxp6
libxtst6 odbcinst1debian1 sun-java5-bin unixodbc xfonts-encodings xfonts-utils xutils xutils-dev
The following NEW packages will be installed:
defoma gsfonts gsfonts-x11 java-common libfontenc1 libfs6 libft-perl libttf2 libxext6 libxfont1 libxi6 libxp6
libxtst6 odbcinst1debian1 sun-java5-bin sun-java5-jre unixodbc xfonts-encodings xfonts-utils xutils xutils-dev
0 packages upgraded, 21 newly installed, 0 to remove and 0 not upgraded.
Need to get 36.5MB of archives. After unpacking 96.5MB will be used.
Do you want to continue? [Y/n/?]
X関係のパッケージが山のように入って多少なえるけど続ける。
あとは Flex 2 SDK をダウンロードして適当なところに解凍。
$ unzip -d ~/app/flex flex_sdk_2.zip
で、もう使える。
$ ~/app/flex/bin/mxmlc -help
Adobe Flex Compiler (mxmlc)
Version 2.0.1 build 155542
Copyright (c) 2004-2006 Adobe Systems, Inc. All rights reserved.