携帯Flashの作製方法 メニューアイコン作製方法(DoCoMo)

続いてDoCoMoのアイコンを作ってみます。DoCoMoの携帯のメニューはそんなに作ったことがないんで細かい部分で不安ですが、頑張って書いてみますです。

とりあえずDoCoMoは仕様をバッチリと公開してるみたいで…、きせかえツール コンテンツ作成ガイド -Flash メニュー編- 1.1 版(注:PDFです)とか見ればだいたいのことは分かるようになってますね。素晴らしい!auも見習って欲しいもんだ。庭でシャベルとか言ってないでさ。

とりあえずは私の手元にある端末がSH903iなので、これのメニューを作ってみます…。

11-1

流れはほとんどauのメニューの作製方法を同じです。方向キーとエンターキーを押した時のアクションを書いたボタンオブジェクトを作る。 それをタイムライン上に配置。メニューっぽいデザインを組み込む。書き出し。で終了です。一つのメニューに対して1フレームを使用することになるんで、 タイムラインの構成はこのようになります。

11-2

1〜3フレーム目まではActionScriptのみが入って、4〜12フレーム目がそれぞれのメニューのデザインと、enterキーを押下した時の呼び出す機能とボタンの上下左右の移動先を記述した ボタンを配置します。

ではまず最初に、「フォーカス位置AS」という名前でレイヤーを作って、4フレーム目までを全てキーフレームにします。4フレーム目は空白になります。 んで、1フレーム目にはフレームアクションとして…

//フォーカス位置初期化
focus=0;
//タイマーの初期化
times=0;
//フォーカス位置取得
loadVariablesNum("Focus", 0);

と、スクリプトを書きます。第一フレーム目でメニューのフォーカス位置を初期化します。timerとかいうのは何だかさっぱり分かりません。まあ書いておいて損はなさそうですし、 DoCoMoの使用書ではとりあえず書いてあるので、ここは素直に書いておきましょう。で、2フレーム目には…

//タイマーの更新
time=getTimer();

これもあまり疑問に思わず書いておきましょう。悪いこと言わないんで。次は3フレーム目…

/*--------------------------------------------------------------------
メニュー終了前にフォーカスしていたIDによってタイムラインの移動先を指定
--------------------------------------------------------------------*/
//データBOXだった場合
if(focus == 10004) {
	gotoAndStop(4);
}
//PhoneBookだった場合
if(focus == 10005) {
	gotoAndStop(5);
}
//settingsだった場合
if(focus == 10006) {
	gotoAndStop(6);
}
//LifeKitだった場合
if(focus == 10007) {
	gotoAndStop(7);
}
//mediatoolsだった場合
if(focus == 10008) {
	gotoAndStop(8);
}
//i-modesだった場合
if(focus == 10000) {
	gotoAndStop(9);
}
//i-アプリだった場合
if(focus == 10001) {
	gotoAndStop(10);
}
//カメラだった場合
if(focus == 10002) {
	gotoAndStop(11);
}
//メールだった場合
if(focus == 10003) {
	gotoAndStop(12);
}
//フォーカスIDが未修得の場合
/*
if(focus == 0 && time <1000) {
	gotoAndStop(2);
}*/

次に「機能(赤)」とかいう名前でボタンオブジェクトを作り、残りの4〜12フレーム目までの全てのフレームに配置します。そのボタンにボタンアクションとして…

11-4
/* ----方向キー・決定キー押下時---- */
on (keyPress "") {
	gotoAndStop(○○);
}
on (keyPress "") {
	gotoAndStop(○○);
}
on (keyPress "") {
	gotoAndStop(○○);
}
on (keyPress "") {
	gotoAndStop(○○);
}
//決定キーで起動するメニュー
on (keyPress "") {
	fscommand("Launch", "■■■");
}
//ショートカットへの登録
on (keyPress "") {
	fscommand("Launch", "■■■");
}

のスクリプトを書きます。○○にはそれぞれ上下左右のキーを押した時の飛び先のフレーム番号を入れてください。フレーム名でもオッケーですが、そのさいには"○○"と フレーム名を""で囲ってあげてください。決定キーの ■■■には決定キーを押した時に起動する機能のlaunchパラメーターが入ります。5桁の数字です(データboxの場合は10004)。 あとショートカットメニューへの登録用に同じ様にlaunchパラメーターが入れてください。 メニューの移動は下の図のようになりますので、右下のメニューからは下、右を押した場合は左上に、左上のメニューからは 上と左を押した場合に右下に移動するようにします。

11-4

そして念のためって意味で、「アクション(ストップ)」とかいうレイヤーを作製し、2フレーム目に

/* ----タイムラインストップ---- */
stop();

と入れてあげましょう。まあなくっても「機能(赤)」のボタンアクションでの移動先指定で「gotoAndStop」使ってるんで大丈夫なんですが、念のためです。

スクリプトはこんな感じで終わりです。あとデザイン組み込めば完成!

2〜13フレームまでがそれぞれのメニュー一つ一つに対応しているので、各フレームに自分がデザインしたアイコンのグラフィックだとかムービークリップだとかを 配置してあげればもう万事オッケーです。

縦型メニューに関しては、「機能(赤)」のボタンアクションの記述を上下のみにすれば大丈夫です。あとは同じ様にフレームで区切っていけばいいだけです。

SH903i アイコンメニューflaファイル