つい3日前くらいまで、自分がFlash Lite2.0を触ることになるとは思っていなかったんですが 仕事で開発することになったので、メモ。
まずここから「Flash Professional 8 用 Flash Lite 2 アップデート」をダウンロードして Flash Professional 8で、Flash Lite2.0を開発できるようにしておきます。 http://www.adobe.com/jp/support/flash/downloads.html
それからLite2.0の情報を集めます。 http://www.dango-itimi.com/blog/archives/2006/000912.html http://www.trick7.com/blog/flash_lite/ この辺のブログが参考になりました。
各端末の情報とか ソフトバンク端末情報 ドコモ端末情報 au端末情報 で、自分でマニュアルから調べたLite2.0特有の事項は
- 関数内ではdeleteしてもメモリ解放は行われないその場合、変数にnullを与えることで、ガベージコレクションから消える。
- コンパイル時にSWFのファイルを削減するためにクラスを除外できる。
- ヒープメモリは各デバイスに依存する。
という感じ。
で、今回僕は1機だけ実機を用意できたのですが、すべての人が実機を用意できるわけじゃないので IDE上の「デバイスエミュレーション」が鍵になるのですが、デフォルトでは全然使えるものがないので 自分で用意しました。
僕の場合SoftBank系だけカバーすれば良かったので 画面解像度別に
- QVGA
- VGA
- WQVGA
- QVGA
のSWF表示領域を調べて(僕はクライアントさんから教えてもらった)設定ファイルを作ります。 設定ファイルはここにおいておきますね。
Flash8をインストールしたディレクトリの 「Flash 8/ja/Configuration/Mobile/Devices/」 に放り込んでください。 設定ファイル自体シンプルなので、画面解像度と名前くらいなら簡単に作れます。

きっとこんな感じになるでしょう。
ついでに、僕がつくった便利クラスも 対して便利なわけでなく、fscommand2とか書きたくなかっただけですが・・。 特に「getScreenType()」は現在のSoftBank用に作ったメソッドで 他のキャリアや今後も使える保証は全然ありません。
[as] /** * デバイス用便利クラス * デバイス操作に使える静的メソッド群 * @author Mitsuru Hagamitsuru.haga@gmail.com * @version 2007/02/16 17:36 */ class DeviceUtil {
public static var QVGA:String = ‘QVGA’; public static var VGA:String = ‘VGA’; public static var WQVGA:String = ‘WQVGA’; public static var WVGA:String = ‘WVGA’;
/** * デバイスのモデルIDを取得する * @return */ public static function getDevice():String{ fscommand2(“GetDevice”, ‘device‘); return _level0.device; }
/** * レンダリングに使用する表示領域のサイズを設定します。 */ public static function setFullScreen():Number{ return fscommand2(“FullScreen”, true); }
/** * 現在使用できるヒープメモリの量をキロバイトで返します。 */ public static function getFreeMemory():Number{ return fscommand2(“GetFreePlayerMemory”); }
/** * 割り当てられたヒープメモリの合計量をキロバイトで返します * @return */ public static function getTotalMemory():Number{ return fscommand2(“GetTotalPlayerMemory”); }
/** * 画面の解像度を取得する * @return {x:Number, y:Number} */ public static function getScreenResolution():Object{ return { x:System.capabilities.screenResolutionX, y:System.capabilities.screenResolutionY }; } /** * スクリーンタイプを取得する静的メソッド * どのタイプにも当てはまらない場合はQVGAとして返す * SoftBank用(07/02/16現在) * @return String スクリーンタイプを表す文字列 */ public static function getScreenType():String{ var size:Object = getScreenResolution(); var isQVGA:Boolean = size.x == 236 && size.y == 261; var isWQVGA:Boolean = size.x == 240 && size.y == 350; var isVGA:Boolean = size.x == 480 && size.y == 540; var isWVGA:Boolean = size.x == 236 && size.y == 341; return ( isQVGA ) ? QVGA : ( isVGA ) ? VGA : ( isWQVGA ) ? WQVGA : ( isWVGA ) ? WVGA : QVGA; } }
[/as]
関連記事