[目次|前回|次回|Reference]

携帯で実行しよう+携帯の機能を使おう(パブリッシュ, fscommand2)

Time-stamp: "2010-04-22 Thu 13:59 JST hig"
movement.flaを作っているとします.

プレビューしよう

パブリッシュしよう

携帯向けに公開しよう

携帯で見よう

hig3.netqr code to hig3 > 数理情報演習 > 数理情報演習の人々. Flashのバージョン的に携帯が対応してなくてもがっかりしないでね.

Windows では DoCoMoのi-mode HTML emulator IIを利用することもできます

時計を作ろう

Dateクラスを使って, 日時, 時刻を取得することができます. 使用例はこんな感じです.

var d:Date = Date(); // この行が実行された時刻を保持する Date オブジェクトを作りdに代入
var hi:Number=d.getDate(); // 日を返す
var youbi:Number=d.getDay(); // 曜日
var ji:Number=d.getHours(); // 時を返す
var fun:Number=d.getMinutes(); // 分を返す
完結したプログラム全体のサンプルはこちら.

this.createTextField("tf",this.getHighestDepth(),20,180,150,20);
tf.text = "test";
tf.border = true;

var mc1:MovieClip = this.createEmptyMovieClip("mc1",this.getNextHighestDepth());
mc1.lineStyle(5, 0x0000ff, 100, true, "none", "round", "miter", 1);
mc1.moveTo(0,0);
mc1.lineTo(0,-20);

var mc2:MovieClip = this.createEmptyMovieClip("mc2",this.getNextHighestDepth());
mc2.lineStyle(5, 0xff00ff, 100, true, "none", "round", "miter", 1);
mc2.moveTo(0,0);
mc2.lineTo(0,-50);



fscommand2("SetSoftKeys","SF1","SF2");
var bat:Number;
var d:Date;


onEnterFrame=function(){
	bat=fscommand2("GetBatteryLevel");
	d = new Date();
	tf.text="" + d.getHours() + ":" + d.getMinutes() + " bat=" + bat;

	mc1._rotation=30;
    mc1._x=100;
	mc1._y=100;
	
	mc2._rotation=60;
	mc2._x=100;
	mc2._y=100;

}

課題

ドキュメントを参照し, こうやって得られる時刻の情報を利用して, アナログ時計を作りましょう. 要するに, フレームごとに, 時刻に応じた角度で線を描けって話だよね.

課題

もっとかっこいい時計にしましょう. 世の中の時計って, アラームがついてたり, 飾りの振り子がついてたり, 毎正時になると鳩が鳴いたり楽隊が出てきて演奏したりするよね.

配列の使い方

Javaに似てます. Array が配列型です.

var a:Array = new Array(); 
a[0] = "月"; 
a[1] = "火"; 
a[2] = "水"; 

var b:Array = new Array("月","火","水"); 
var c:Array = new Array(1,2,4,8,16,32);

携帯の機能を使おう

fscommand2は, Flash Lite だけにあるグローバル関数で, PCのプレイヤーにはないが携帯にはある機能を使うためのものです. 例えば,

fscommand2("StartVibrate"); // バイブレーション開始
fscommand2("StopVibrate");  // バイブレーション停止
var bat:Number=fscommand2("GetBatteryLevel"); // バッテリー残量を返す
fscommand2("setSoftKeys", "戻る", "進む"); // ソフトキーラベルを設定
第1引数がコマンド, 第2引数以降がパラメタです. ドキュメントを読んでいろいろ試してみましょう.