In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

カレンダー

Get Adobe Flash player
by nayu 04 Sep 2009
/**
 * 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);
              
            }
        }
    }
}