待ち受けフラッシュ 曜日の作り方画像編

2006年11月1日

本日付で人事異動になったiron-boyです。

今回は曜日の作り方(画像編)です

いつものように用意するもの
やる気
Flash 8 Professinal

画像の場合
--------------------------------------------------------------
/*スクリプト[A] 曜日の取得*/
wday.num = fscommand2("GetDateWeekday");
--------------------------------------------------------------
スクリプト[A]により曜日が数値で取得できます。(文字の場合とはスクリプトが少し違います)


数値の対応は下記のとおりです。(前回と一緒)
 0=>日曜
 1=>月曜
 2=>火曜
 3=>水曜
 4=>木曜
 5=>金曜
 6=>土曜

いつものように画像を用意します。

sun,mon,tue,wed,thr,fri,satの7つの画像を作ります。

新規ムービークリップ(MC_wday)でフレーム1〜7にそれぞれ作った画像を配置し、アクションスクリプトを記述します。

--------------------------------------------------------------
/*スクリプト[B] 曜日のフレームに移動*/
stop();
switch (num) {
case 0 :
gotoAndPlay(1);
break;
case 1 :
gotoAndPlay(2);
break;
case 2 :
gotoAndPlay(3);
break;
case 3 :
gotoAndPlay(4);
break;
case 4 :
gotoAndPlay(5);
break;
case 5 :
gotoAndPlay(6);
break;
case 6 :
gotoAndPlay(7);
break;
}
--------------------------------------------------------------

MC_wdayをステージに配置しプロパティウィンドウでインスタンスを「wday」と入力します。
いつものように一フレーム目に戻るようスクリプトを入れて、出来上がり。

これでパブリッシュすれば曜日が文字で表示されます。

今回はサンプルを用意してみました。ダウンロードしてみてください。
<ダウンロード>




投稿者 ironboy : 22:05 | Flash 待ち受け 作り方 | コメント (4) | トラックバック (0)

カレンダー作りに挑戦してます。

2006年10月24日

どうも、久しぶりにDVDレンタルしてしまいましたiron-boyです。

いま、待ち受けの時計にも少しアイデアに行き詰っており、悪戦苦闘しているのですが、気分を変えてカレンダー作りに挑戦しています。
FLAMOにてHowtoを紹介されていますが、それを参考に作っています。

しかし
スクリプトをほとんど理解していないので思うようには動きません。

サンプルもダウンロードできるのですが、それに頼ると自分の進歩が無いので、極力自分でASを理解して作っていくようにしています。
ちょっと時間がかかるかもしれませんが、出来上がったらまた公開し、自分が苦労したことをまとめてみます。

さて次回は曜日の作り方(画像編です)

それでは。

投稿者 ironboy : 23:09 | Flash 待ち受け 作り方 | コメント (0) | トラックバック (0)

曜日の作りかた

2006年10月22日

飲みすぎて泣いてしまったiron-boyです。

遅くなりましたが、曜日の作り方です。
ちょっと多かったので二回に分け、書かせてもらいます。
1回目は文字でのやり方です。


用意するもの
やる気
Flash 8 Professinal

文字の場合
--------------------------------------------------------------
/*スクリプト[A] 曜日の取得*/
wday = fscommand2("GetDateWeekday");
--------------------------------------------------------------
スクリプト[A]により曜日が数値で取得できます。


数値の対応は下記のとおりです。
 0=>日曜
 1=>月曜
 2=>火曜
 3=>水曜
 4=>木曜
 5=>金曜
 6=>土曜

文字にするにはそれぞれの数値を変換しなければなりません。そこでスクリプト[A]の後にスクリプト[B]を配置します。

--------------------------------------------------------------
/*スクリプト[B] 曜日に変換*/
switch (wday) {
case 0 :
ww = "sun";
break;
case 1 :
ww = "mon";
break;
case 2 :
ww = "tue";
break;
case 3 :
ww = "wed";
break;
case 4 :
ww = "thr";
break;
case 5 :
ww = "fri";
break;
case 6 :
ww = "sat";
}
--------------------------------------------------------------

わかりやすいようにテキストツールで"111"とステージ上に3桁入力。
この時入力する文字は何でも構いませんが、文字数は影響されるみたいです、多分。ですので、今回は曜日を3文字で表現するので3桁入力しています。


1.プロパティウィンドウでダイナミックテキストにする
2.「埋め込み」で形式を選択。今回は小文字しか使わないので「小文字」を選択。
3.プロパティウィンドウの中の変数にそれぞれ"ww"と入力


これでパブリッシュすれば曜日が文字で表示されます。

あとはLoopするようにして<前回参照>プレビューすれば完成です。

投稿者 ironboy : 20:33 | Flash 待ち受け 作り方 | コメント (6) | トラックバック (0)

Flash作成法 その2

2006年10月16日

日付の作り方

用意するもの
やる気
Flash 8 Professinal(これが無いと話になりません。これを機にがんばって購入してください。)


まず、年・月・日の取得方法
--------------------------------------
/*スクリプト[A] 年・月・日の取得*/
y = fscommand2("GetDateYear"); //年の取得
m = fscommand2("GetDateMonth");//月の取得
d = fscommand2("GetDateDay");//日の取得
--------------------------------------



文字の場合

ステージに1111(年用)と11(月用)、11(日用)の4つのテキストを書きます。
1.プロパティウィンドウでダイナミックテキストにする
2.「埋め込み」で形式を選択。この場合は数字しか使わないので「数字」を選択。
3.プロパティウィンドウの中の変数にそれぞれ年用には"y"、月用には"m"、日用には"d"と入力


これでプレビューすると文字の日時が出来上がります。



年の分割
さらに年を2桁で表示したい時はこのスクリプトを追加し
--------------------------------------------------------
year = substring(y, 3, 2);//3文字目から2文字を取得
--------------------------------------------------------
プロパティウィンドウで年のテキストの変数を「year」にすれば変わります。



画像の場合

前回使った数字の画像を使いまわします。(MC_num_0-9)
数字のムービークリップの作り方はこちら>>

このままでは"年"の値は4桁で記録されます(2006年なら2006)
これを2桁表示にするためには4桁のうちの3文字目と4文字目を分割して使用します。(2006年なら06)
どちらでもお好きなほうをお使いください。

●画像用年4桁表示
--------------------------------------------------------
/*スクリプト[B1] 年の2桁表示*/
year1.num = substring(y, 1, 1);//年の3文字目
year2.num = substring(y, 2, 1);//年の4文字目
year3.num = substring(y, 3, 1);//年の3文字目
year4.num = substring(y, 4, 1);//年の4文字目
--------------------------------------------------------
●画像用年2桁表示
--------------------------------------------------------
/*スクリプト[B2] 年の2桁表示*/
year1.num = substring(y, 3, 1);//年の3文字目
year2.num = substring(y, 4, 1);//年の4文字目
--------------------------------------------------------
●画像用月・日の表示
--------------------------------------------------------
/*スクリプト[C] 月日の表示*/
//月の分割
if(m<=9){
month1.num = 0;
month2.num = substring(m, 1, 1);
}else{
month1.num = 1;
month2.num = substring(m, 2, 1);
}

//日の分割
if(d<=9){
day1.num = 0;
day2.num = substring(d, 1, 1);
}else{
day1.num = substring(d, 1, 1);;
day2.num = substring(d, 2, 1);
}
--------------------------------------------------------


シーン1の1フレーム目にスクリプト[A]+[B1 or B2]+[C]を書いてステージには(MC_num_0-9)を必要な数字分配置します。
名をyear1,year2(必要によってはyear3,year4),month1,month2,day1,day2とします。

あとはLoopするようにして<前回参照>プレビューすれば完成です。

投稿者 ironboy : 00:20 | Flash 待ち受け 作り方 | コメント (5) | トラックバック (0)

待ち受けflash 時計の作り方〜よ

2006年10月3日

リクエストの多かった(のか?)待ち受け時計の作り方です。



flash デジタル時計の作り方

用意するもの
やる気
Flash 8 Professinal(これが無いと話になりません。これを機にがんばって購入していただくとありがたいです。)

新規ファイルで幅240px、高さ240pxのファイルを用意します。(別に240×360でもかまいません。)
フレームレートはそのままで構わないです。(大体、12で作ってます。)
パブリッシュ設定は「FlashLite1.1」を選んでください・。

1.携帯電話の時間を表示させるためにはActionscriptを使います。
--------------------------------------
/*スクリプト[A]*/
hh = fscommand2("GetTimeHours"); //時の取得
mm = fscommand2("GetTimeMinutes"); //分の取得
ss = fscommand2("GetTimeSeconds"); //秒の取得

--------------------------------------
スクリプト[A]をシーンの1フレーム目に書き込みます。



2.時刻表示の準備

文字を使う場合
わかりやすいようにテキストツールで"11"とステージ上に二桁入力


1.プロパティウィンドウでダイナミックテキストにする
2.「埋め込み」で形式を選択。この場合は数字しか使わないので「数字」を選択。
3.同じものを3個複製し、プロパティウィンドウの中の変数にそれぞれ"hh"、"mm"、"ss"と入力


これでも時間は表示できるのですが、

プレビュー

※注意点 1、2・・・9,10,11,12・・・と9以下の数字には頭に0が付きません。そこで回避するスクリプト[B1]をスクリプト[A]に追加します。
--------------------------------------
/*1の位と10の位を分割 スクリプト[B1]*/
if(hh<=9){
hour1 = 0;
hour2 = substring(hh, 1, 1);
}else{
hour1 = substring(hh, 1, 1);
hour2 = substring(hh, 2, 1);
}

if(mm<=9){
min1 = 0;
min2 = substring(mm, 1, 1);
}else{
min1 = substring(mm, 1, 1);
min2 = substring(mm, 2, 1);
}

if(ss<=9){
sec1 = 0;
sec2 = substring(ss, 1, 1);
}else{
sec1 = substring(ss, 1, 1);
sec2 = substring(ss, 2, 1);
}
--------------------------------------
ステージの6個のテキストを配置し、それぞれに"hour1"、"hour2"、"min1"、"min2"、"sec1"、"sec2"と変数に入力します。
(個人的に10の位と1の位の数字を1文字づつ分解しておくほうが、後々レイアウトの調整がきくのでこのやり方に落ち着きました。)

完成プレビュー

これで満足した方は3.に進んでください。
さらに文字にこだわりたい人は続きを読んでください。



こだわって画像を使う場合。
1〜0の数字の画像を用意し、それぞれグラフィックとして個別にシンボルに変換しておく。(そうすると使いまわすときが楽なんです)


新規オブジェクトの作成でムービークリップを作成します。(例 MC_num_0-9)
作成したムービークリップの1〜10フレームに下図のようにそれぞれスクリプトを書き込み、数値によってフレームに移動させます。
0のときは10フレームに移動、1のときは1フレームに、2のときは・・・・のように
そして1フレームには1、2フレームには2、3には3、〜10フレームには0の画像を配置します。

--------------------------------------
/*スクリプト[C]*/
stop();
switch (num) {
case "0" :
gotoAndPlay(10);
break;
case "1" :
gotoAndPlay(1);
break;
case "2" :
gotoAndPlay(2);
break;
case "3" :
gotoAndPlay(3);
break;
case "4" :
gotoAndPlay(4);
break;
case "5" :
gotoAndPlay(5);
break;
case "6" :
gotoAndPlay(6);
break;
case "7" :
gotoAndPlay(7);
break;
case "8" :
gotoAndPlay(8);
break;
case "9" :
gotoAndPlay(9);
break;
}
--------------------------------------


すると
こんな感じになります。

あくまで0〜9までの数字しか作らないのは、分や秒など60まで作るのはめんどくさい+使い回しが利くからです。

そのため文字の場合と同じ様に値を分割するために、スクリプト[B2]を利用します。(結果としてシーン1の1フレーム目にはスクリプト[A]と[B2]が書かれています。)

--------------------------------------
/*1と10の位を分割して"num"でムービークリップに渡す スクリプト[B2]*/
if(hh<=9){
hour1.num = 0;
hour2.num = substring(hh, 1, 1);
}else{
hour1.num = substring(hh, 1, 1);
hour2.num = substring(hh, 2, 1);
}

if(mm<=9){
min1.num = 0;
min2.num = substring(mm, 1, 1);
}else{
min1.num = substring(mm, 1, 1);
min2.num = substring(mm, 2, 1);
}

if(ss<=9){
sec1.num = 0;
sec2.num = substring(ss, 1, 1);
}else{
sec1.num = substring(ss, 1, 1);
sec2.num = substring(ss, 2, 1);
}
--------------------------------------
ステージ上に数字のムービークリップ(例 MC_num_0-9)を配置6個し、それぞれの「インスタンス名」に"hour1"、"hour2"、"min1"、"min2"、"sec1"、"sec2"と入力します。

ざっと(しすぎ?)、こんな感じで作れます。



3.loopさせる
シーン1の2フレーム目に1フレームに戻るスクリプトを追加。
----------------------------------
gotoAndPlay(1);
----------------------------------
機種によっては自動で先頭に戻り再生をしてくれるもののもありますが、すべてではないので強制的に1フレーム目に戻し、
常にスクリプト[A]が実行されるようにします。

Ctrl+Enterを押してプレビューすると動きますよ。







ほかにもスクリプト[C]の展開で背景色を時間によって変える方法なんてのもありますが、それはまた今度。


自分が待ち受けを作るきっかけにもなり、作り方を参考にさせていただいたWebStandARD さんの音携闊歩に敬意を表しトラックバックさせていただきます。

投稿者 ironboy : 22:08 | Flash 待ち受け 作り方 | コメント (10) | トラックバック (1)

| Top