トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     カレンダー生成について
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
kuuflash
Åê¹ÆNo.14613
投稿日時: 2005-1-30 22:46
新米
居住地: 川辺
投稿: 19
使用環境:
カレンダー生成について
はじめまして、いつも参考にさせて頂いております!
最近になってActionScriptを始めだし、サンプルを作りながらも
まだまだ頭を抱えています状態の初心者ですが
どうか宜しくお願い致します


カレンダー生成のスクリプトで分からないことがあり投稿させて頂きました。

カレンダー生成をしたく、サンプルを探したところ
MdN発行『web creators』の2004年1月号に載っていましたので
それをサンプルに作っています。

■サンプルデータ場所
http://www.mdn.co.jp/webcre/Flash/Vol25/

そのなかで、カレンダー生成だけを抜き出し、書いていったのですが分からない点があり、
こういった質問方法は間違っているのかなあ? と思いつつ、
もし御説明下さる方がいてくださったら嬉しいなあと投稿させて頂きました。


まず、日付けの設定をします。

----------------------------------------------------------
日付けの取得 
※メインフレームの[action]レイヤーの1フレーム目に記述します
----------------------------------------------------------

now = new Date();
 //日付けをDateオブジェクトにより日付けを取得

theYear = now.getFullYear();
 //現在の年を取得

theMonth = now.getMonth();
 //現在の月を取得

monthStr = ["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"];
 //カレンダー生成の際、現在が何月かというテキスト表示をさせたい
 //MC[t_month.txt]に入れ込むための配列を作成

t_month.txt.text = monthStr[theMonth];
 //MC[t_month.txt]に現在の月を表示

theDate = now.getDate();
 //現在の日にちを取得

now = new Date(theYear,theMonth,1);
 //その月の1日のDateオブジェクトを取得

theDay = now.getDay();
 //現在の曜日を取得


//下記より当月の最終日を求める

//★ここから下記がどういった意味なのか分かりませんでした

//月の最終日は28日?31日までになるため、

for(i=29; i<=32; i++){
now = new Date(theYear,theMonth,i);
 //iが29?32までの間は now = new Date(tneYear,theMonth,i)とし
 
tmp = now.getDate();
  //temp = now.getDate();で日付けを取得すると
  //iのいずれかの値で次の月に移り変わり「temp」の値が1となる

//そのとき、lastDate=i-1;とすることで当月の最終日を取得
if(tmp==1){
lastDate = i-1; // 当月の最終日
break;
}
}

----------------------------------------------------------

この当月の最終日の求め方の中の、
temp=now.getDate();?が、どういった意味なのか分かりませんでした。




次にカレンダーを生成していきます。

----------------------------------------------------------
カレンダーの生成
----------------------------------------------------------
//日付けを入れ込むMCを「t_date」とします
//MC「t_date」内には、ダイナミックテキスト設定したMC「t_date0」というMCを配置しています
//「t_date0」に配置したテキストのインスタンス名を「txt」とします


----------------------------------------------------------
//MC「t_date0」のactionフレームの1フレーム目に下記を記述
----------------------------------------------------------


theDate = _parent._parent.theDate;
 //日にち

num = Number(_parent._name.slice(6));
 //★slice(6)とは…?

txt.text = num;
textFormat1 = new TextFormat();
with (textFormat1) {
color = 0xFFFFFF;
}
if(num == theDate){
txt.setTextFormat(textFormat1);
}
 //当日の場合はテキストカラーを「白」にする



----------------------------------------------------------
//メインフレームのactionフレームに下記を設定します
----------------------------------------------------------


startX = 270;
 //日付けテキスト配置の開始位置x座標

startY = 229;
 //日付けテキスト配置の開始位置y座標

i = 1;
 //★ttachMovieで使う、日付けの「1日」という意味で合ってますでしょうか?

fr = 0;
 //★この変数が何を設定したのか分かりませんでした。

interval = 8;
space = 8;

this.onEnterFrame = function(){
if(fr%interval == 0){
  //★ここの求め方がよく分かっていません。

this.attachMovie("t_date","t_date"+i,i);
  //MC「t_date」をattachMovieにて複製していき日付けを入れる

this["t_date"+i]._x = startX+((i+theDay-1)%7)*space;
//一週間単位で改行していくタイプのカレンダーのため
  //初日の曜日の位置から1日ごとに7日周期でspaceずつ移動

this["t_date"+i]._y = startY+(Math.floor((i+theDay-1)/7))*space;
  //そのためy座標も上記となります

}
}
if(i>lastDate){
this.gotoAndStop();
this.onEnterFrame = null;
}
fr++;
};

----------------------------------------------------------

このときの、frとはどういった意味の変数なのでしょうか?
また、MC「t_date0」でのスクリプトもどのように組まれていっているのか
理解しきれませんでした。
サンプルからのため、分からないままにスクリプトなどを長々と書いてしまい
本当に申し訳ありません。

もしこちらのスクリプトの説明や、
他、カレンダー生成を掲載されていらっしゃるサイト様を御存じの方がいらっしゃいましたらお教え頂けませんでしょうか?
お願い致します!

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » カレンダー生成について kuuflash 2005-1-30 22:46
     Re: カレンダー生成について Fumio 2005-1-31 0:14
       Re: カレンダー生成について kuuflash 2005-1-31 16:23
         Re: カレンダー生成について Fumio 2005-1-31 16:52
           Re: カレンダー生成について kuuflash 2005-1-31 22:46
     Re: カレンダー生成について Fla4man 2005-1-31 11:42
       Re: カレンダー生成について kuuflash 2005-1-31 16:34
         Re: カレンダー生成について kuuflash 2005-1-31 16:44
           Re: カレンダー生成について Fumio 2005-1-31 17:26
             Re: カレンダー生成 [ 曜日の色付け ] kuuflash 2005-1-31 23:04
               Re: カレンダー生成 [ 曜日の色付け ] Fumio 2005-1-31 23:26
                 Re: カレンダー生成 [ 曜日の色付け ] kuuflash 2005-2-6 18:58

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops