W54Tに最初から入っているメニューも、東芝サイトから取れるメニューも、無意味に重いのしかないことにブチキレて、オープンアプリは一時中断して先にメニューを作ることにした。
あちこちに散らばっている情報をかき集めて、試行錯誤の末とりあえず出来上がったのがこれ。 コンセプトは、とにかくシンプルに、ぱっと見て読みやすいように。 画像は一切使用せず、メニューの項目も文字で表示。 メニューの並び順は自分の使用頻度に合わせて。
←W54Tでアクセスしてください。 PCからアクセスしても無意味ですし、他の機種ではダウンロードできないと思います。
ParaFla!で書いたソースはこれ。 zipのアップロードが出来ないのでjpgになってます。 右クリックで[保存]してから拡張子をzipにしてください。
以下出来上がるまでの過程。
最初に見つけたページはこちら メニューアイコンの作成に関するまとめ - クエブロ
ここによると、Fioraっていうツールがあることがわかった。 試してみたら結構簡単に作れたが、メニューから選んでから戻ったときに選択していた位置が保存されない。後でわかったことだが、東芝機?はやり方が違うらしい。 ということでParaFla!で作ることに決定。
その前に実機への転送の仕方。 オープンアプリと同じく、やはりSD経由では出来ないっぽい。 ではどうやってサーバに置くのか。
上にも書いたサイトの一部らしいが Qube - ケータイ向けFlash/メニューアイコン(au)/オープンアプリ/辞書サイト ここにアップロードして携帯でアクセスすれば、ダウンロードできる形式にしてくれるらしい。 よく見たらオープンアプリもここで出来そうだ。
ただちょっとやっぱりあれなんで、自分で置く方法を探してみる。 <object>タグを使うらしいことはわかったが、EZfactoryの↓のページには詳しいことが一切書かれていない。 KDDI au: 独自拡張タグ・特徴のあるタグ >
QRコードに書いたURLのソースを見てもらえばわかるが、これがW54TでのメニューFlashのダウンロード指定。 キモはdispositionとsizeの指定。 dispositionは機種毎にバラバラだけど、その一覧がこちら。 MIME-Typeとdisposition « ハンターリンク sizeはswfのサイズをバイトで指定する。 一致していないと携帯でエラーになってダウンロードできない。
ということでダウンロードページを汎用的に作りたい場合は、CGIを使った方がいいことが判明。 素直にさっきのとこを利用させてもらった方が早かったかも。
さて、本題のPalaFla!でのメニューFlashの書き方。 本家の試用版で作るという選択肢は、例によって数ヶ月後に修正したくなったときに困るという理由で消えてる。
キーイベントでfscommand("launch", "memorycard");とかやればいいのはすぐわかったが、Flashでキー入力できるものを作ったことがなかったので、どうやって作ればいいのか全くわからない。 あちこちで見つかるサンプルはみんな本家で、本家に触ったことがないからよくわからない。 そんな中見つかったのがここ。 鳥三@Wiki - 自作メニュー作成ツール-W42SA fscommandへのパラメータを調べるためのすばらしいツール
残念ながらW54Tでは数字キーを押した瞬間に強制的に機能メニューになってしまうので、ツールとしては使えない。 本当は数字キーでいきなりそれぞれのメニュー項目を起動させようと思ってたけど、できないことも同時に判明。
ただ、やり方はわかった。 ・最初にベースとなる画面を作成 ・メニュー項目の数分だけ、画面と非表示ボタンでスクリプトと停止 ・スクリプトではキーイベントを見て対応する項目に移動したりする 詳しくはソースをみてください。本当は似たようなコードをずらずら書くのは嫌いなんだけど、妥協。
・画面サイズは240x400の模様。 ・残念ながらWVGAは生かせず。 ・480x800で作ったものは一旦縮小してから拡大されるようでボケる。 ・Y位置を0から始めると電波マークとか時計の位置に表示される。 ・かといって最初から240x360とかで作っても真ん中には表示されず。
次はParaFla!で作ろうと思った一番の理由。 メニューの選択位置を維持させるために、どうやって保存・復帰するのか。
FSCommand2("RetrieveFocus");とFSCommand2("SaveFocus");で、うまくいかない答えはこちらにあった。 W54T メニューアイコン2 - inulab. こちらからはデータフォルダの使用率の取得方法もゲット。ありがとうございます。
ただ、この通りやったつもり(ちょっと変えたけど)だったがうまくいかない。 試行錯誤した結果できたのがこれ。// これを起動時に実行 status = FSCommand2("Get", "Mainmenu", "Position", "framenum"); if (framenum != "005") { // 起動時は何故か005 gotoAndPlay(framenum); }
// これを各launch前に実行 FSCommand2("Set", "Mainmenu", "Position", "M01");
各メニュー項目にはM01とかってラベルをつけておく。 試している中で3文字の文字列が保存できることがわかったので、こうなった。 フレームじゃないのにframenumになってるのは愛嬌ということで。
最後はFSCommand("launch", ??);のパラメータ。 基本的にはこちらからダウンロードできるFioraに同梱されていた設定でわかったけど、足りなかった[データ受信]は検索して見つけた。 他の機種用と書いてあっても結構そのまま動く。 [赤外線受信]があるなら、[Bluetooth受信]もあるだろうと試してみたらあっさり成功。
datareceive=データ受信 bluetoothreceive=Bluetooth受信 notebook=メモ帳 calendar=カレンダー
メモ帳とカレンダーは動くのは確認したけど、ユーザーメニューに登録済みだったので外した。
他のEZ系も結構あるみたいだが、いまのところ一番欲しいのはオープンアプリプレイヤー。 core/〜とかcore/ezappli/〜とかで、openappli〜とかjblendとかjava〜とか、思いつく限りかなり試してみたが見つからず。 やっぱり単なるEZアプリのひとつとしてしか扱われていないんだろうか。
この記事に設定されているタグ
このブログ内:携帯
au
W54T
Flash
メニュー
ParaFla!
FC2ブログ全体:携帯 au W54T Flash メニュー ParaFla!
|