FLASHのお勉強 ーケータイ(携帯) de FLASHー |
|
(1) FlashLite でデジタル時計2006/12/16 |
|
| 私事になるが、ケータイは通話と簡単なメールぐらいにしか使わない。 それと時計代わりである(腕時計をするのが嫌い)。 しかし、手放せない。 持つのを忘れて出かけたりすると不安を感じる。 最近電車に乗る機会が増えると、つい携帯を取り出したくなる。 Webで何かを見るのはまどろっこしい。 それで、家族の写真や山で撮った写真を見ては楽しんでいる。 何枚かの写真をボタンで切り替えて見たいと思ったのがケータイFLASHに取り組もうと思ったきっかけである。 今回のお勉強は、まず定番の時計である。 時計はそもそも最初から付いているし、Webを探せばいくらでも気の利いたものが手に入る。 しかし、自分手作りの画面をFLASHで作るのも面白そうである。 ケータイFALSHの入門としてもいい材料と思える。 と言うのが第1回のテーマにした理由である。 ところが、取り掛かってみると、FlashLite1.1対応では、ちょっとしたaction script は使えないし、まことに原始的な手法を使わなければならない。 そこで、未来を見据えて、基本的には、FlashLite2 対応のお勉強としたいと思っている。 今回については、1.1対応、及び、2.0対応の作成方法を勉強することにする。 なお、確認は、softbankの811SH(FL2対応)、705SH(FL1.1対応)で行った。 いろんな機種でさまざまな制約がありそうであるが、作り方の基本は同じだと思っている。 |
|
| SAMPLE | |
| このサンプルは、Flash7でパブリッシュ設定したものを表示している。 Flash7でパブリッシュしたものでも、FlashLite2.0対応スクリプトで書かれていれば、対応機種で見る分には支障が無い。 しかし、Flash8で作成したものを、スタンドアローンでプレビューさせたときに、パブリッシュ設定をFlashLiteに設定しておけば、対応していないスクリプトを指摘してくれるので、一般的には便利である。 したがて、以下に示すようにflash作成前に、パブリッシュ設定をFlashLiteに設定しておくほうがいいようだ。 携帯用SAMPLE(swfファイル)は、http://flashde.syanari.com/ に。 flashede.syanari.comのQR-Code |
|
|
ここで作成するswfファイルは、携帯向けWebページに表示すれば、携帯で閲覧可能である。 しかし、携帯電話に読み込んで、見たり、壁紙に設定したりして使うのに向いているかも知れない。 携帯電話には、メールに添付して送ればOKで、そのファイルを保存し、直接指定して見たり、壁紙に登録したりすることができる。(ただし、確認は、上記機種) |
|
| ステージの準備(FLASH8でFlashLite2.0ファイルを作成する場合) | |
| パブリッシュ設定(あらかじめMacromediaのサイトから"fl8_flashlite2_update_jp.exe"をDLしてインストールしておく) ●メニューから新規を選び、テンプレートのグローバル携帯電話・FlashLite1-1を選ぶ ●次いで、ステージのサイズを240,260に変更する(本SAMPLEの場合) ●パブリッシュの設定ウインドウを開き、バージョンをFlashLite2.0に、アクションスクリプトのバージョンをActionScript2.0に ●Ctrl+Enterでプレビューさせるとデバイス選択画面が出るので、スタンドアローンプレイヤー、一般携帯電話を選択 ステージの準備 ●フレームレートは12fps ●上の設定で、ActionScriptとContentsの、2つのレイヤーができる。さらに、watchレイヤーをContentsの上層に作成 |
|
| 背景とアニメーション | |
| ●画面に動きをと言うことで、ここでは、蝶が左から右へと舞うアニメーションを入れてみた。 ここで使ったgifアニメーションはサイトFataNote(http://www5a.biglobe.ne.jp/~fata/Material/)からいただきました。 ●「挿入」「新規シンボル」で名前を付けて(ここではageha)ムービークリップを作成し、編集画面に gifアニメーションを読み込み、agehaの編集画面を閉じる ●「挿入」「新規シンボル」で名前を付けて(ここではback)編集画面に入る ●背景画像(ここでは、240×260のバラの写真)を配置する(中心座標を基準点に) ●新規レイヤーを追加して、ライブラリーからagehaをドラッグして、背景画像の左外にドロップする ●タイムラインで、agehaにモーショントウイーンを設定し、最終的には、画像の右側の外に移動するようにする (モーショントウイーンの設定は、本サイト(2)曲線運動などが参考になります) ●back編集画面を閉じる なお、ここで示したアニメーションはほんの一例で、gifの挿入以外にも背景の切り替えなどを含め、アイディア次第でいろんなことが可能である。 |
|
| デジタル時計 | |
| ●「挿入」「新規シンボル」でDandTを作成する ●編集画面に、日付と時間表示用のダイナミックテキストボックスを2つ作成し、インスタンス名をつける(ここでは、whatDay、whatTime) FlashLite1.1の場合は、変数として命名する ●テキストボックス表示フォントの大きさ、色、FONTを設定する(特殊なFONTを使う場合は、数字と:を埋め込む) ●シンボル編集画面のFRAME1に、以下のスクリプトを記入する ●FlashLite1.1の場合は、FRAME2にgotoAndPlay(1); と記入 |
|
| FlashLite2.0 | FlashLite1.1 |
| //曜日の配列定義 var yobi:Array = new Array("日", "月", "火", "水", "木", "金", "土"); _root.onEnterFrame = function() { //基本データ取得 var now:Date = new Date(); var day:String = yobi[now.getDay()]; var y = now.getFullYear(); var m = now.getMonth()+1; var d = now.getDate(); var hr = now.getHours(); var mn = now.getMinutes(); var sc=now.getSeconds(); //表示桁数あわせ if (m<10) {m = " "+m;} if (d<10) {d = " "+d;} if (hr<10) {h = "0"+hr;} if (mn<10) {mn = "0"+mn;} if (sc<10) {sc = "0"+sc;} //表示 whatDay.text = y+"年"+m+"月"+d+"日"+"("+day+")"; whatTime.text=hr+":"+mn+":"+sc; } |
//基本データ y = fscommand2("GetDateYear"); m = fscommand2("GetDateMonth"); d = fscommand2("GetDateDay"); day=fscommand2("GetDateWeekday"); hr = fscommand2("GetTimeHours"); mn=fscommand2("GetTimeMinutes"); sc=fscommand2("GetTimeSeconds"); //曜日変換 switch (day) { case 0 : day = "日"; break; case 1 : day = "月"; break; case 2 : day = "火"; break; case 3 : day = "水"; break; case 4 : day = "木"; break; case 5 : day = "金"; break; case 6 : day = "土"; break; } //表示桁数あわせ if (m<10) {m = " " add m;} if (d<10) {d = " " add d;} if (hr<10) {hr = "0" add hr;} if (mn<10) {mn = "0" add mn;} if (sc<10) {sc = "0" add sc;} whatDay = m add "/" add d add "(" add day add ")"; whatTime=hr add ":" add mn add ":" add sc; |
| 表示 | |
| ●ステージのcontentsレイヤーにライブラリーからbackをドラッグして画面いっぱいに配置する ●watchレイヤーにライブラリーからDandTをドラッグして好みの位置にドロップする。 ●ActionScriptレイヤーに以下のスクリプトを書き込み、パブリッシュする fscommand2("FullScreen", true); fscommand2( "SetQuality", "high" ) |
|
| HOME お勉強総リスト | |