BLOG ARTICLE ActionScript | 1 ARTICLE FOUND

  1. 2007/03/22 플래시 시계 소스(아날로그+디지털) (11)

 
 
 
 

                                                         

[ 디지털 시계 ]

1. 무비클립을 하나 만들고 Layer1에 Dynamic Text 생성, 2프레임까지 확장
2. Var 명은 "theTime" 으로 한다.
3. 1번 프레임에 아래와 같이 액션스크립트 삽입 하고 2 프레임까지 연장한다.

// 현재 시간을 구한다.
myDate = new Date();

// 필요한 경우 "0"을 앞에 추가하여 두자리 숫자를 만든다.
myHours  = String (myDate.GetHours());
if(length(myHours)<2) {
 myHours = "0" + myHours;
}
myMins = String (myDate.GetMinutes());
if(length(myMins)<2) {
 myMins = "0" + myMins;
}
mySecs = String (myDate.GetSeconds());
if(length(mySecs)<2) {
 mySecs = "0" + mySecs;
}

// 시간+분+초 를 조합하여 표시한다.
theTime = myHours+ ":" +myMins + ":" + mySecs;



[ 아날로그 시계 ]

1. 무비클립을 하나 만들고 Layer1에 시계 바탕 그림을 배치한다.
2. 그 위 각각 새로운 레이어를 추가하고 hours, minutes, secondes 로 이름을 준다.
3. 각각의 레이어에 미리 만들어 둔 바늘 클립들, hhand, mhand, shand 무비클립을 올려놓는다. 이때 회전 축은 시계의 중심이다.
4. 그리고 각각의 무비클립들의 인스턴스명을 "hour_hand", "minute_hand", "second_hand"로 정해준다.
5. 액션스크립트 레이어를 하나 추가하고 1번 프레임에 아래 스크립트를 넣는다.

// 위와 같음...
myDate = new Date();

// 각 침에 대한 회전각 계산
//
// 360를 60으로 나누어 최소 눈금의 각도를 6도로 한다.
secondsRotation = myDate.getSeconds()*6;
minutesRotation = myDate.getMinutes()*6;

// 시침의 각도 계산은
// 현재 시간 * 30도 + 30도/60분*현재분
// 즉 시침각 = 현재시간*30 + 현재분/2 를 적용한다.
hoursRotation = myDate.getHours()*30+myDate.getMinutes()/2;

// 계산한 각도를 회전속성(_rotation)에 반영한다.
setProperty("hour_hand", _rotation, hoursRotation);
setProperty("minute_hand", _rotation, minutesRotation);
setProperty("second_hand", _rotation, secondsRotation);

그밖에 날짜는 직접 만들어 보세요. 위 디지털 시계를 만들어 보았다면 쉽게 만들 수 있습니다.
위 아날로스/디지털 시계의 소스 파일입니다. 플래시 MX 구버전으로 만들었습니다. 연습용으로 만든거라 좀 허접합니다만, 필요하신 분이 있으시면 가져가세요. ^^v

플래시 소스 파일 다운로드(64KB) :