s

일주기 시간대별로 플래시무비 자동 교체시키기

플래시의 배경무비를 시간대 별로 다르게 보이는 방법은 생각보다는 간단합니다.

같은 사이즈의 빈 플래시무비의 이름은 head.fla입니다.

여기 첫프레임에 삽입된 내용은 이것뿐입니다.

 

mydate=new Date();

myHr=Number(mydate.getHours());

if (myHr>=8 %26%26 myHr<12) {

    loadMovieNum (\"head3.swf\", 1);

} else if (myHr>=12 %26%26 myHr<16) {

    loadMovieNum (\"head4.swf\", 1);

} else if (myHr>=16 %26%26 myHr<20) {

    loadMovieNum (\"head5.swf\", 1);

} else if (myHr>=20) {

    loadMovieNum (\"head6.swf\", 1);

} else if (myHr>=0 %26%26 myHr<4) {

    loadMovieNum (\"head1.swf\", 1);

} else {

    loadMovieNum (\"head2.swf\", 1);

}

 

해설)

mydate=new Date();

 

new()는 오브젝트를 새로 만든다는 것입니다.

new Date()는 데이트 오브젝트를 새로 만들겠다는 말이고..

그 오브젝트 이름을 mydate라고 지칭을 하기로 합니다.

이로써 mydate라는 이름의 오브젝트는 date()오브젝트가 가지고 있는 메소드/속성을들 그대로 차용할수 있게 됩니다.

 

myHr=Number(mydate.getHours());

 

mydate가 date오브젝트의 속성/메소드를 차용할때에는 도트법을 사용합니다.

즉 mydate.getHour()

라 함은. date메소드인 getHour()를 mydate라는 차용인을 통해 사용한다는 말입니다.

그것은 myHr라는 변수에 저장합니다.

mydate.getHours()의 값은 숫자가 아닌 문자열이므로..

이를 Number()함수를 사용해서 숫자로 만듭니다.

이로써 숫자간의 크기를 비교할수 있습니다.

 

조건문을 통해 myHr의 숫자 크기로 하루의 일주기를 구분하고..

그 시간에 따라 별도의 명령을 else if를 통해 하사받습니다.

 

loadMovieNum는 플래시 무비의 로드중에 level로 로드시키는 명령으로 이때는 level번호는 삽입해야 합니다. 여기서는 공통적으로 1을 삽입했습니다. 본무비가 0이니 그 상위에 놓이게 되겠죠?

 

여기서는 상대경로를 사용했습니다. 그래서 플래시는 서버의  같은 폴더내에 있는 head2.swf를 찾게됩니다.

 

경우에 따라서는

loadMovieNum (\"head5.swf\"%2B \"?noCache=\" %2B (random(1000000) %2B random(1234567)), 1);

 

를 첨가하기도 합니다.

 

여기서 \"\"내에는 문자그대로 보여줍니다. %2B연산자는 이런 문자들을 붙여줍니다.

만약 \"\"가 없이 사용되어진다면..

 

위의 noCache나 random()처럼 일정값을 저장한 변수나 함수로써 사용되어집니다.

 

noCache란 변수는 임의로 만든 변수입니다. 이렇게 URL경로에 ?를 사용해서 매개변수를 전달시킬수 있습니다.

이처럼 매개변수를 추가로 전달시키는 이유는 같은 폴더내의 같은 파일명이라도 매개변수와 다른 그 값을 첨가함으로써..

익스플로러의 임시캐시의 사용를 방지시킬수 있습니다.

업데이트가 자주 있는 파일의 경우는 이 스크립트가 필수이지만..

그렇지 않은 경우는 사용을 자제하는 것이 html의 로딩속도를 올려주겠죠?

 

 

 

 

주의 할 점은 이 무비의 프레임 rate는(초당 속도)

본무비(시간대 별로 달리보여줄 무비들)의 프레임rate에 따라가야 합니다.

이 무비가 실제로 html에  embed된 무비로 아무 설정이 없는한 플래시의 level0에 자리를 잡습니다.

로드시킬 무비의 용량이 크다면 여기에 로딩과정을 추가해야 합니다.

로드될 용량측정은 당연히 loadMovieNum()명령이후..

level1을 대상으로 해야 합니다.

 

 

그 다음

 

시간대별로 달리보여질 무비인 새끼플래시는 본인이 직접 삽입하길 원하는 무비를 준비합니다.

이 무비들이 head1.swf....head6.swf입니다.

여기서는 4시간 간격으로 시간대별 일주기를 달리한다는 분위기의 연출을 목적으로 배경그림만 달리했을뿐..효과는 똑같습니다.

 

그러므로 같은 소스 head1.fla에서 배경그림만 달리하여 출판만 이름을 달리해서 출판을 했습니다.

loadMovieNum (\"head2.swf\", 1);

보시는 바와 같이 이 무비들은 level1에 로드되도록 설정했으므로..

본무비의 위에 위치하게 됩니다.

 

생각보다 간단하고..

배너광고 목적의 플래시 제작에 많이 이용되니..

너른 활용하시기 바랍니다.

|

댓글 1개

댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
12년 전 조회 1,420
12년 전 조회 1,723
12년 전 조회 1,387
12년 전 조회 1,992
12년 전 조회 2,405
12년 전 조회 3,264
12년 전 조회 2,227
12년 전 조회 2,406
12년 전 조회 2,372
12년 전 조회 1,656
12년 전 조회 1,458
12년 전 조회 1,096
12년 전 조회 1,287
12년 전 조회 2,076
12년 전 조회 1,631
12년 전 조회 1,334
12년 전 조회 2,373
12년 전 조회 2,095
12년 전 조회 1,944
12년 전 조회 1,689
12년 전 조회 2,383
12년 전 조회 1,191
12년 전 조회 842
12년 전 조회 465
12년 전 조회 597
12년 전 조회 1,114
12년 전 조회 2,533
12년 전 조회 2,534
12년 전 조회 1,618
12년 전 조회 1,237
12년 전 조회 1,029
12년 전 조회 9,145
12년 전 조회 655
12년 전 조회 1,624
12년 전 조회 1,219
12년 전 조회 1,659
12년 전 조회 1,866
12년 전 조회 1,050
12년 전 조회 1,631
12년 전 조회 2,276
12년 전 조회 1,389
12년 전 조회 1,339
12년 전 조회 1,245
12년 전 조회 7,481
12년 전 조회 1,378
12년 전 조회 1,237
12년 전 조회 2,029
12년 전 조회 1,021
12년 전 조회 1,538
12년 전 조회 1,155
12년 전 조회 1,106
12년 전 조회 2,877
12년 전 조회 1.1만
12년 전 조회 3,035
12년 전 조회 2,900
12년 전 조회 1,440
12년 전 조회 2,783
12년 전 조회 886
12년 전 조회 1,791
12년 전 조회 1,197
12년 전 조회 1,519
12년 전 조회 1,249
12년 전 조회 1,542
12년 전 조회 3,651
12년 전 조회 1,927
12년 전 조회 968
12년 전 조회 5,286
12년 전 조회 1,244
12년 전 조회 1,243
12년 전 조회 3,432
12년 전 조회 1,670
12년 전 조회 4,907
12년 전 조회 5,483
12년 전 조회 1,892
12년 전 조회 3,110
12년 전 조회 988
12년 전 조회 3,355
12년 전 조회 1.1만
12년 전 조회 5,838
12년 전 조회 1,078
12년 전 조회 828
12년 전 조회 2,028
12년 전 조회 1,606
12년 전 조회 554
12년 전 조회 1,397
12년 전 조회 2,921
12년 전 조회 888
12년 전 조회 2,429
12년 전 조회 1,295
12년 전 조회 842
12년 전 조회 1,513
12년 전 조회 947
12년 전 조회 3,237
12년 전 조회 1,934
12년 전 조회 2,936
12년 전 조회 1,852
12년 전 조회 1,119
12년 전 조회 1,647
12년 전 조회 2,790
12년 전 조회 2,611
🐛 버그신고