2012/07/25(水) [n年前の日記]
#1 [haxe] Haxe + NMEをまだ実験中
とりあえず、Android実機、Lenovo IdeaPad A1 で動かせるか試していたり。実機をUSBケーブルで接続して、adb install -r hoge_debug.apk と打てばインストールはできる。-r は、reinstall の r。
一応動いたのだけど、600x1024の画面サイズの端末に、320x480で設計したソレを表示しているから、画面の左上に小さく表示されている状態で。画面一杯に表示したいのだが…。
方法その1。ソース中で、
方法その2。ステージに Sprite を addChild() して、描画したいものは全てそのSpriteに addChild()。その、全てを司る Sprite を、画面サイズに拡大縮小する。画面の縦横幅は、Lib.current.stage.stageWidth , Lib.current.stage.stageHeight で取得できる。
一応このようにして、画面一杯に表示できなくはない。けど。どちらも遅い…。60FPSを指定しているはずなのだけど、どう見ても処理落ちして、動きがガクガクしてる。10〜20FPSぐらいを前提にして作らないと描画が間に合わない予感。大昔のガラケー並みに酷い。 *1
Lib.current.stage.quality = StageQuality.LOW; 等を指定して、画質を落として処理速度を稼げないかと期待したけれど。試してみても効果は無く。
一応動いたのだけど、600x1024の画面サイズの端末に、320x480で設計したソレを表示しているから、画面の左上に小さく表示されている状態で。画面一杯に表示したいのだが…。
方法その1。ソース中で、
var stage = Lib.current.stage; stage.scaleMode = nme.display.StageScaleMode.EXACT_FIT; stage.align = nme.display.StageAlign.TOP_LEFT; stage.displayState = StageDisplayState.FULL_SCREEN;等を指定する。
- scaleMode は ActionScript3 と同様、ステージを引き延ばして表示するかどうかの指定。
- displayState は、通常表示かフルスクリーン表示を指定、するのだと思う。
方法その2。ステージに Sprite を addChild() して、描画したいものは全てそのSpriteに addChild()。その、全てを司る Sprite を、画面サイズに拡大縮小する。画面の縦横幅は、Lib.current.stage.stageWidth , Lib.current.stage.stageHeight で取得できる。
一応このようにして、画面一杯に表示できなくはない。けど。どちらも遅い…。60FPSを指定しているはずなのだけど、どう見ても処理落ちして、動きがガクガクしてる。10〜20FPSぐらいを前提にして作らないと描画が間に合わない予感。大昔のガラケー並みに酷い。 *1
Lib.current.stage.quality = StageQuality.LOW; 等を指定して、画質を落として処理速度を稼げないかと期待したけれど。試してみても効果は無く。
*1: もっとも、昔のガラケーは 600x1024 よりはるかに小さい画面サイズだったので、それに比べれば、機器のスペックは明らかに向上しているのだろうけど。
[ ツッコむ ]
以上です。