'프리로딩'에 해당되는 글 1건

  1. 2008.10.12 Preloading (프리 로딩) (2)
2008.10.12 22:56
Preloading(프리 로딩)이란?

프리 로딩이란, 글자 그래도 미리 로드해둔다...(미리 로딩한다...)
이런 뜻입니다.
즉, 아직 로딩이 다 되지 않았음에도 불구하고, 플래시나, 기타 무비를 재생했을때 그림, 글씨, 소리가 제대로, 정확히 나와야할 지점에 나오지 않을때가 간혹 있습니다.
이걸 방지 하기위하여, 프리로딩이 필요한겁니다.                           (제 생각)


* 생각해보기

왜, 저렇게 될까요?
바로 이 플래시또는 무비를 인터넷 상에서 실행하기에, 다운로드를 다 받지 못할수 있습니다.
이것이 제일 첫번째 이유이며, 가장 큰 이유일겁니다...
다운로드를 다 받지 못했으니 당연히 제대로 재생되거나 시작되지못하겠죠?

그럼 어떻게 하면 좋을까요?!
이렇게 생각하셨겠죠? '당연히 다 다운로드 안받았을때는 재생하지 안으면 되지 멀..'
딩동댕~

그럼 이제 어떻게 다 다운로드되었는지 알아야하겠죠?(아래 내용은 모두 as2.0기준입니다.)


플래시에 보면, 이런 함수가 있습니다.

_root.getBytesTotal()
_root.getBytesLoaded()

이게 핵심입니다. (절라 중요하니, 별표 하고싶은 만큼 하세요..;;)

네..이게 끝입니다..


너무 간단한가요..
그럼 아래는 그래도 잘 모르겠다 싶으신분들을 위해~(첨부 파일은 cs3로 저장되어 있습니다.)

화질은 상당히 않좋습니다... 양해 바랍니다...ㅠ


먼저 자기 맘대로 로딩바를 만듭니다.


주황색 바에 인스턴스 네임을 "bar" 라고 지어줬습니다.


이쪽이 상당히 생략 되어있군요..

액션 레이어와, 무비클립 레이어를 따로 만들어 줬습니다.
그런후, 액션 레이어에는 키 프레임을 하나 넣어주고(1, 2 프레임에 키프레임이 있게 됩니다.)
무비클립 레이어에는 그냥 F5를 눌러서 프레임을 넣어줍니다.
그런후 액션 레이어의 프레임 1에 F9를 눌러서 입력합니다.


[프레임 1]

var Loaded:Number = _root.getBytesLoaded()/_root.getBytesTotal()//다운로드된 량을 계산합니다. 아무것도 안받았을때는 0이고, 완전히 받아 졌을때는 1이 됩니다.

_root.onLoad = function(){
   _root.bar._xscale = 0;//bar의 초기 x비율을 0으로 지정해줍니다.
}
_root.onEnterFrame = function(){
   _root.bar._xscale = Math.round(100*Loaded);//매 프레임 마다 스케일을 조절합니다.완전히 받아졌다면 100을 출력하게 됩니다.(그래서 bar의 x비율이 100%가 되는거죠.)
}


[프레임 2]

if(Loaded==1){
   _root.gotoAndPlay(3);//만약, 모두 다운받아졌다면, 3번 프레임으로 가서 본 무비를 실행합니다.
}else{
   _root.gotoAndPlay(1);//그렇지 않으면, 다시 프레임 1 로 가서 재생합니다.
}






저는 무비넣을게 없어서 그림으로 대체했습니다. 무비가 재생되면, 매 프레임마다 그림이 올라갑니다.


컴파일!!


바로 그림이 떠서 재생되죠?
그 이유는 이 무비가 하드디스크에 이미 받아져 있어서 다운로드 과정을 거치지 않기 때문입니다.
그러면 확인할 방법이 인터넷에 올려야하는것인가?
아닙니다. 아래로~


보시면, 뷰 탭을 눌르면, '다운로드 셋팅'이 있습니다. 보시면 여러가지 회선 종류가 있고, 커스터마이징도 할수 있습니다.
(저는 adsl을 만들어 놨는데..;; 아무거나 선택하시면 됩니다.)


선택하신뒤에, 뷰탭에 있는 '시뮬레이트 다운로드'를 누릅니다.


그럼 로딩되는모습이 보여질꺼에요^^



완성 하셨나요?
여기 예제 올려드립니다.(cs3로 저장 되어 있습니다, 혹시나 해서..그림(만화)소스는 속깊은 여자 친구 이야기 1편입니다.)





본 내용은 http://www.gotoandlearn.com/의 강좌를 글로 쓴것입니다.
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 2
  1. KooH 2009.08.23 22:47 신고 address edit & del reply

    좋은 예제 감사합니다 ^^

  2. Favicon of http://blog.kkyhome.com BlogIcon KKY 2010.09.15 16:26 신고 address edit & del reply

    감사합니다. 많은 도움이 되었습니다.



티스토리 툴바