FC2ブログ

音携闊歩

音楽をより楽しむための個人的見解。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) |
FlashLite1.1はアイディア次第で、いろいろなものが作れます!!何か面白いアイディア浮かばないかなぁ…浮かばない。なんでアナログ時計でも作ってみることにしました。デジタル時計ができる人なら、間違いなく簡単にできるでしょう。
アナログ時計は時分秒をそれぞれ取得する方法を使います。今までの時計作成シリーズでは「FScommand("GetLocalTime", "time")」として、変数「time」に時分秒を格納していましたが、アナログ時計は短針と長針の角度を計算しないといけないので、それぞれを取得した方が簡単なのです(もちろん「GetLocalTime」+「substring」でできますが)。

■Flash待受作成(アナログ時計作成)
使用したソフト:
Macromedia FlashMXPro2004(ver.7.2)

初期設定:
・画面サイズを240*320にします(テンプレートを使用しても可)
・パブリッシュ設定をFlashLite1.1にします。

①アナログ時計用背景を用意します。時計の中心が分かるように目印を付けておきます(パブリッシュ前に削除)。

②メインフレームにデジタル時計表示用のダイナミックテキストと、年月日表示用のダイナミックテキストを用意します。変数は以下のように設定します。
時:hr
分:min
秒:sec
年:y
月:m
日:d
曜日:w

③短針と長針(画像/ベクター)を用意し、それぞれをMovieClip(以下MC)にして、インスタンス名を「hour」と「minute」とします。このとき各MCの基準点が回転する中心にくるようにします。

④次はスクリプトを書いていきます。
・メイン1フレーム目アクション
//時の取得
hr = fscommand2("GetTimeHours");
//分の取得
min = fscommand2("GetTimeMinutes");
//秒の取得
sec = fscommand2("GetTimeSeconds");
//年の取得
y = fscommand2("GetDateYear");
//月の取得
m = fscommand2("GetDateMonth");
//日の取得
d = fscommand2("GetDateDay");
//曜日の取得
w = fscommand2("GetDateWeekday");
//曜日の表示文字
switch (w) {
case 0 :
w = "sun";
break;
case 1 :
w = "mon";
break;
case 2 :
w = "tue";
break;
case 3 :
w = "wed";
break;
case 4 :
w = "thu";
break;
case 5 :
w = "fri";
break;
case 6 :
w = "sat";
break;
}
//アナログ時計の表示
hour._rotation = hr*30+min*0.5;
minute._rotation = min*6;
//桁の追加
if (hr<=9 and hr>=0) {
hr = 0 add hr;
}
if (min<=9 and min>=0) {
min = 0 add min;
}
if (sec<=9 and sec>=0) {
sec = 0 add sec;
}
※時分秒をそれぞれ取得します。角度は「60分=360度」なので「1分=6度」、また「24時間=360度」なので「1時間=30度」、さらに短針は長針が1周(360度)すると30度動くので、30÷360=0.5となっています。また「GetTimeHours/Minutes/Seconds」は1桁の数字の場合、1桁しか変数を返さないので、0を追加します。

・メイン2フレーム目アクション
gotoAndPlay(1);
※1フレーム目に戻って時刻等の取得をループさせます。

⑤時間によって背景を変えるので、MC「back」を作成します。4枚の背景画像を使用したので、2/3/4/5フレームに画像を配置(1フレーム目は空白)します。時間による背景の切り替えについては、Flashケータイ⑤で詳しく解説していますので、そちらを参照してください。今回は6:00~10:59、11:00~15:59、16:00~18:59、19:00~5:59の4つに分けて背景を変えています。
・MC「back」1フレーム目アクション
stop();
m = fscommand2("GetTimeHours");
if (6<=m and m<=10) {
gotoAndPlay(2);
break;
} else if (11<=m and m<=15) {
gotoAndPlay(3);
break;
} else if (16<=m and m<=18) {
gotoAndPlay(4);
break;
} else {
gotoAndPlay(5);
break;
}
このアクションを2~5フレーム目にそれぞれ記述(コピー)します。

⑥次はランダムに発生するイベントを作ります。MC「rnd」を作成します。イベントにもよりますが、長いアニメーションを作る場合は、ラベルを作成しておくとアニメーション変更時に作業がとても楽になります。
発生するイベントの確率を「1/30秒」に設定します。こちらは任意で変更してください。
・MC「rnd」2フレーム目アクション
//ランダムな整数の発生
rnd = Math.floor(Math.random()*180);
//処理
if (rnd==0) {
gotoAndPlay("event01");
} else if (rnd==1) {
gotoAndPlay("event02");
} else {
gotoAndPlay(1);
}

1フレーム目を空白(何も表示せず1と2をループさせる)にして、2フレーム目にランダム発生用スクリプト、3フレーム目以降にイベント表示用アニメーションを挿入しています。このファイルではラベル「event01」と「event02」を作成しています。発生確率を変更する場合は、「rnd = Math.floor(Math.random()*180);」の「180」を変更してください。大きくすると確率は下がります。今回はフレームレートが12fpsで作成していますので、「rnd」は1秒間に6つ生成されることになりますので、180倍すると「1/30秒」になる計算になります。

⑦書出し(パブリッシュ)→SD転送

これで完成です。今回は「GetTimeHours/Minutes/Seconds」を使用したので、PCでの確認が可能です(スタンドアローンではFScommandを認識しないため不可)。新しく取り入れたのは「アナログ時計」と「ランダム処理」だけなので、それ以外での説明不足は過去の「Flashケータイ」を参照してください。
結構骨の折れる内容でしたが、納得いくものが作れたので満足☆素敵なアイディアありがとさんでした。

>>Sample Data 72kb(swf)
スポンサーサイト

このコメントは管理人のみ閲覧できます

2005.05.09 15:07  | # [ 編集 ]

このコメントは管理人のみ閲覧できます

2005.06.28 11:17  | # [ 編集 ]

訪問アリガトです。
>>10分毎に背景をランダムに切り替え
とのコトですが上記の方法と基本的には一緒です。

簡単に書くと、
①10分毎に背景を変える。
②背景をランダムに選択する。
の二つをクリアすればいいのです。

①は
if(min=10 && sec=0){
で解決できそうです。
もちろん、
min.charAt(1)
などを使ってminの一桁だけを選択してもOKです。

②は①のif以下にrandomを発生させれば良いので、

rnd = Math.floor(Math.random()*5);
if (rnd==0) {
gotoAndPlay("event01");
} else if (rnd==1) {
gotoAndPlay("event02");
}



と発生させた数(今回は5)の背景を選択してやればできるでしょう。

問題を分離して一つずつやってみると、
それほど難しくはないかと思いますので、
是非チャレンジしてみてください。

2005.06.30 09:11 URL | WebStandARD☆管理人 #- [ 編集 ]

ご丁寧に教えていただきありがとうございます。無事思っていたものが完成しました。
これからまた少し凝った物を作って行きたいと思います。
ありがとうございました。

2005.07.09 10:50 URL | たまねぎ #- [ 編集 ]

はじめまして、こんばんわ^^
待受Flashを自作してみようと思ってこのブログさんにたどりつきました。

ところで、使用ソフトとなっている
Macromedia FlashMXPro2004(ver.7.2)
なんですが、リンク先をクリックしてもないんですよね。
代わりになるものってあるんでしょうか?
そもそも、このソフトはフリーソフトなのですか?
そのへん教えていただきたいです><

2006.07.16 20:33 URL | ちゃる #93C6d3sI [ 編集 ]













管理者にだけ表示

トラックバックURL↓
http://keitaimusic.blog6.fc2.com/tb.php/25-3fc23eee

Flash Lite参考リンク
仕事でFlash Liteをやらなければならなくなったので参考リンク等。・DoCoMoの技術情報 http://www.nttdocomo.co.jp/service/imode/make/content/flash/index.html・iモードHTMLシミュレータ等ダウンロードhttp://www.nttdocomo.co.jp/service/imode/make/content...

2006.10.25 12:06 | onoDerium

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。