読者です 読者をやめる 読者になる 読者になる

心魅 - cocoromi -

半角スペース時々全角

W53CAの待ち受けを1から作った。

こっそりCS3に手を出したので、ちょっと作ってみた。
http://qwe.ne.jp/caicon6/%96%BC%8F%CC%96%A2%90%DD%92%E8-3.swf-%8E%E8s%82%C2%82%A8

でも、俺の携帯FlashLite2.0(FlashPlayer7相当)、CS3の機能つかえねーーー。

でもAS2でガンガンコード書けたから、コード部分は楽だった。

class umezo.mobile.w53ca.W53CAMenu {
	public static var DATA_FOLDER = "df";
	public static var SD_CARD = "memorycard";
	public static var CAMERA = "camera";
	public static var SETTINGS = "M";
	public static var CALENDAR = "calendar";
	public static var IR = "infraredreceive";
	public static var ACCESSORIES = "accessories";
	
	public static function launch(cmd:String):Void {
		fscommand("Launch" , cmd);
	}
}


タイムラインの1フレーム目

import umezo.mobile.w53ca.W53CAMenu;

fscommand2("SetQuality", "high");
status = fscommand2("RetrieveFocus");
fscommand("tts:2WayNavigation", "");
_focusrect = false;

var listLabel = [
	"microSD",
	"Setting",
	"I.R.",
	"Folder",
	"Camera",
	"Alarm",
	"Accessories"
];
var listCmd = [
	W53CAMenu.SD_CARD,
	W53CAMenu.SETTINGS,
	W53CAMenu.IR,
	W53CAMenu.DATA_FOLDER,
	W53CAMenu.CAMERA,
	W53CAMenu.CALENDAR,
	W53CAMenu.ACCESSORIES
];

function getCurrentIndex() {
	var f = _root._currentframe;
	f = (f - 2) / 5 - 1;
	return f;
}

/* タイムラインの適当な位置から呼び出されてラベル表示アニメを制御 */
_root.onSet = function () {
	_root.stop();
	delete _root.onEnterFrame;
	var f = getCurrentIndex();
	_root.label.label.text = listLabel[f];
	_root.label.gotoAndPlay(2);
}

/* ボタンの移動を制御 */
function moveBtn(dir:Number) {
	if(dir == 1) {
		if (_root._currentframe == _root._totalframes) {
			_root.gotoAndStop(2);
		}else{
			_root.nextFrame();
		}
	}else {
		if ( _root._currentframe == 2) {
			_root.gotoAndStop(_root._totalframes);
		}else {
			_root.prevFrame();
		}
	}
}


function setOnEnterFrame(dir:Number) {
	_root.onEnterFrame = function () {
		moveBtn(dir);
	}
}


/* キー操作を設定 */
Key.addListener(_root);
_root.onKeyDown = function (event) {
	switch(Key.getCode()) {
		case Key.LEFT :
		case Key.DOWN :
			setOnEnterFrame( -1);
			break;
		case Key.RIGHT :
		case Key.UP :
			setOnEnterFrame( 1);
			break;
		case Key.ENTER :
			trace("launch : " + listCmd[getCurrentIndex()]);
			W53CAMenu.launch(listCmd[getCurrentIndex()]);
	}
}

結局作業時間のほとんどを素材探しと、アニメーションに費やした。

作業時間3時間。