カレンダー
/**
* Copyright nayu ( http://wonderfl.net/user/nayu )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/b2D5
*/
package
{
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.text.*;
public class FlashTest extends Sprite
{
public function FlashTest()
{
init();
}
public function init():void
{
//*月を扱う注意。
//月は、0が1月となるのでgetMonth取得する時には1月は0と返ってくる。
//setMonthの時は、1月にセットしたいなら0を渡さなけれ1月とセットされない。
//現在の日付を取得する
var nowDate:Date = new Date();
var nowYear:Number = nowDate.getFullYear();
var nowMonth:Number = nowDate.getMonth() + 1;
var aDate:Number = nowDate.getDate();
//現在の日付を1日にセット
nowDate.setDate(1);
//現在の月の1日の曜日を取得
//getDayは0~6の値を返す。0は日曜日
var nowDay:Number = nowDate.getDay();
var fullYear_txt:TextField = new TextField();
fullYear_txt.text = String(nowYear) + "年" + String(nowMonth) + "月";
fullYear_txt.y = 10;
//現在の月の最大日数を取得するようにする
var date2:Date = new Date();
//来月の1日を取得して、そこから日を-1することで現在の月が何日あるかを取得する
//コードが読みづらいので修正をあとでする
var nextMonth:Number = nowMonth + 1;
date2.setMonth(nextMonth - 1, 1 - 1);
var lastDate:Number = date2.getDate();
this.addChild(fullYear_txt);
//fullYear_txt.text = String(date2);
for (var i:Number = 0; i < lastDate; i++)
{
//日付を表示する位置を決める
var num:Number = i + nowDay;
//週ごとにテキストの位置を左へ戻す
var xpos:Number = num % 7;
//週ごとにテキストの位置を下へずらす
var ypos:Number = Math.floor(num / 7);
// 日にちの配置
var dayTxt:TextField = new TextField();
var initX:Number = 0;
var initY:Number = 50;
var spaceX:Number = 40;
var spaceY:Number = 30;
//日付の表示間隔
dayTxt.x = xpos * spaceX + initX;
dayTxt.y = ypos * spaceY + initY;
//日付を表示する
var aday:String = String(i + 1);
dayTxt.text = aday;
//現在の日付はいろを変更する。
//if分の意味が分かりづらいので修正する必要がある。
if(aDate == (i+1))
{
dayTxt.textColor = 0xFF0000;
}
this.addChild(dayTxt);
}
}
}
}