- 締切済み
指定曜日のカラーを変更するには
こんにちは。いつもお世話になります。 某Flash書籍に記載されているコードですが、現在バックの 色がランダムになっています。 これを、日曜日を、0xFFCCCC、木曜日を、0xE9E4A2、 普通の日を、0xFFFFFF、当日を、0x348DEDに限定するには、 どうしたら良いか、どうか教えて下さい。 //-----(該当部分のActionscript --------------------- // 日付の設定 now = new Date(); theYear = now.getFullYear(); theMonth = now.getMonth(); monthStr = ["1","2","3","4","5","6","7","8","9","10","11","12"]; t_month.txt.text = monthStr[theMonth]; theDate = now.getDate(); now = new Date(theYear,theMonth,1); theDay = now.getDay(); for(i=29; i<=32; i++){ now = new Date(theYear,theMonth,i); tmp = now.getDate(); if(tmp==1){ // 当月の最終日 lastDate = i-1; break; } } // カラーの初期設定 backColor = [0xFFCCCC,0xE9E4A2,0xFFFFFF,0x348DED]; len = backColor.length; n = 0; marimo = 4; numTmp = Array(); while(1){ tmp = Math.floor(Math.random()*len); if(tmp == len){ tmp--; } for(i=0; i<n; i++){ if(numTmp[i] == tmp){ break; } } if(i == n){ this["color"+n]=backColor[tmp]; numTmp[n] = tmp; n++; if(n == marimo){ break; } } } よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
書かれているスクリプトがどういう状況のものなのか, 全体像が見えませんから,ほとんど書かれているスクリプトは考慮していませんが, --- バックの色 --- 日曜日を、0xFFCCCC、木曜日を、0xE9E4A2、 普通の日を、0xFFFFFF、当日を、0x348DEDに限定 というだけのことでしたら, 次のような方法で行けると思います。 まず,メインムービー(_root) の一番下のレイヤーに, バックとなるムービークリップを作成し, 「bgMC」というインスタンス名を付けておきます。 そしてタイムラインに 次のようなスクリプトを書きます(コピペ可能)。 ------------------------------------- // 現在の Date インスタンスを作成 nowDate = new Date(); // 変数 dayNo に曜日番号を取得 dayNo = nowDate.getDay(); // 指定日の Date インスタンスを作成 // (例:2006年4月2日) thatDate = new Date(2006, 3, 2); // 現在が指定日(0時0分0秒)の24時間以内であれば if (Math.ceil((thatDate-nowDate)/(24*60*60*1000)) == 0) { dayNo = 7; } // 配列 weekColor の作成 weekColor = new Array("0xFFCCCC", "0xFFFFFF", "0xFFFFFF", "0xFFFFFF", "0xE9E4A2", "0xFFFFFF", "0xFFFFFF", "0x348DED"); //_root.bgMC に Color インスタンスを作成 colObj = new Color(_root.bgMC); // _root.bgMC を着色 colObj.setRGB(weekColor[dayNo]); ------------------------------------- 大きな流れは, 現在の曜日を dayNo に取得し, その dayNo 番目の色を 配列weekColor から取ってきて, _root.bgMC に着色。 というものですが, "当日" という厄介なものがあるので, 指定日を指定して,その日であれば, dayNo を 7 にして, 配列weekColor から 7番目 の色を取ってきて, _root.bgMC に着色。 という分岐を1つ入れています。 曜日 は 0 曜日(日曜日), 配列のエレメントも 0, 月も0 から始まりますので,その点が要注意です。
お礼
どうも丁寧に説明してくれてありがとうございます。 色々やったけど、今の力量では無理だと思いました。