it leader

달력만들기



date 객체의 개념


month 는 0부터 시작


달력 생성의 기초 알고리즘


달력 예제 코딩


var d: Date  = new Date (  2015, 3,1 )   // 월은 0부터 시작


for ( var i : int = 1 ; i <32 ; i ++)

{

d.date = i

if( d.date != 3 )                  

{

break;             

}

trace( d.fullYear + "-" + (d.month + 1 ) + "-" + d.date);

}


generateCalendar( 2015,2);






만들어볼 기능


  1. 선택한 날짜가 다음 달을 보고 왔어도 선택되어 있는 기능
  2. 날씨 데이터와 날씨 아이콘 붙이기


package com.timo.calendar
{
import flash.display.Sprite;
import flash.events.MouseEvent;
/**
* 달력 클래스 2015.03.06
* @author hwani
*/
public class Calendar extends Sprite
{
public var currentDate : Date = new Date();   //현재 표시된 달력의 정보를 가진 객체 , 괄호가 비워져 있으므로 현재 값을 저장
private var arr: Array = [];                  //DayItem을 담을 배열
private var displaySkin:UI_DISPLAY = new UI_DISPLAY();
public function Calendar()    // 함수를 호출하는 용도로만 사용
{
generateDayItems();
displayCalendar();
displayTopNavi();
}
/**
* DayItem 생성 함수 ( 박스 ) 
*/
private function generateDayItems() : void   
{
for ( var i : int = 0 ; i <31 ; i ++)
{
var d: DayItem = new DayItem();
arr.push(d);
}
}
/**
*displayTopNavi 달력 상단 네비 생성 함수
*/
private function displayTopNavi() : void
{
displaySkin.x = 20;
displaySkin.y = 10;
addChild(displaySkin);
displaySkin.mcNext.addEventListener(MouseEvent.CLICK, onNext);
displaySkin.mcPrev.addEventListener(MouseEvent.CLICK , onPrev);
}
private function onNext ( e: MouseEvent ) : void
{
currentDate.month ++;
displayCalendar();
}
private function onPrev( e: MouseEvent ) :void
{
currentDate.month --;
displayCalendar();
}
/**
* 캘린더 표시 함수 
*/
private function displayCalendar() : void  
{
for(var i : int  = 0 ; i <31 ; i++) if( contains( arr[i])) removeChild(arr[ i ]);
var d: Date = new Date(currentDate.fullYear, currentDate.month, 1);
var yPos : int = 50;
for( i = 1 ; i < 32 ; i++)
{
d.date = i;
if( d.month != currentDate.month )  break;
//trace ( d.fullYear + "-" + (d.month + 1 ) + "-" + d.date);
var item : DayItem = arr[ i -1 ];
addChild(item);
item.x  = 10 + 30 * d.day;
if( d.day == 0 && i != 1) yPos += 30;
item. y = yPos;
item.date = String(i);
}
}
}//class
}//package


profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!