Study/Actionscript 3.02009. 2. 20. 03:48
[CH7]에서 다루는 몇가지 Loader 실험에서는 외부 데이터(이미지 혹은 XML)를 읽어들이고 활용하는 과정에서 클래스를 어떻게 제작/활용 하는지를 알아본다.


클래스 설계(제작): 쓰기 편하게 만드는 대표적인 예
(같은 결과를 보여주더라도 일정 부분을 클래스로 제작하여 활용하면 효율성을 증가시킬 수 있다.)

* 동기식 ( Synchronous ) VS 비동기식 ( Asynchronous )
-동기식 (싱크로너스-->싱크로나이징)
싱크로나이징이란 보조를 맞추는 것 즉 호흡을 맞추는 것 :: 호흡을 잘 맞추려면 잘하는 사람이 기다려주는 것이 가장 중요하다.
동기식=기다려준다. (예시..편의점에서의 거스름돈 계산 시에는 과정이 금방 끝날 것을 알고 다른 일을 하지 않은 채 기다려준다 )

-비동기식
기다리지않기 (완전히 기다리지않는 것은 아니다.) 시켜놓고 내 할일을 하다 완료 되면 다시 바라본다.
(예시..세탁소에서는 미리 세탁물을 맡긴 후 다른 곳에서 본인 할일을 하다가 세탁이 완료되면 찾으러 간다 )

-컴퓨터는 동기식일까 비동기식일까?
동기식이다. (매우 빨리 돌아가기 때문에...)
현 액션 이후에 추가 액션이 있더라도 이전 것이 수행/완료될 때까지 기다린다.

-웹은????!!!!!
과거 jsp 일때는 동기식이었으나
최근 웹2.0의 AJAX( AJAX : Asynchronous Javascript And XML) 형식은  비동기식이다. (자바스크립트를 사용하고 XML을 사용)

-플레시는???!!!
플레시도 기본적으로 동기식으로 동작
그러나"외부와의 연동"은 비동기식으로 동작한다.
XML 가져오기 이미지 가져오기 (즉 네트웍을 탄다고 하면 모두 비동기식이다. )

1.0에서는 무비클립 로더를 이용했어야 했다.
function loadMovie(파일명)
this.width=400
this.height=500

그러나 3.0에서는 아래와 같은 방법으로 비동기식 코딩을 하도록 한다.
=======================================
!!!!!!비동기식 코딩방법 (아무리줄여도 3줄)
1.var 객체생성
2.데이터가 도착하면 할일
3.데이터 호출
=======================================



1.LoaderTest
먼저 비동기식 코딩방법을 이용하여 간단하게 외부이미지를 로드 하는 방법을 실험해보자.
(load할 이미지는 img folder를 생성하여 그 안에 "aaa.jpg"이름으로 저장한다.)

외부 이미지를 불러들이는 클래스 :Loader
특징
1. DisplayObjectContainer를 상속받았다..
2. 이벤트 연결은 loader.contentLoaderInfo.addEventListener로 해야 한다..
3. 이미지가 도착하면, Event.COMPLETE 이벤트가 발생한다.
4. 이미지는 Loader.content로 불려진다.. { content를 다른곳에 붙이지 않는다.. }


**test1과 test2의 차이는 this.addChild(loader)를 썼는가 this.addChild(loader.content); 임 해당 설명은 본문에 나와있음


위와 같이 내장 클라스인 Loader를 사용하는 것이 아닌 ImageLoader라는 새로운 클라스를 만들어 활용 할 수도 있다.'
특정 클라스를 상속을 받는 것보다 해당 클라스를 가지고 있는 것이 활용성에 있어서 유연하기 때문에 별도 전용 클라스를 만들어 쓰는 것이다. 상세 설명은 아래와 같다.

ImageLoader 클래스는 무엇을 상속받을까?
load의 기능이 필요한 경우는 두가지 (소송시 변호사가 되거나 변호사를 고용한다 (전자는 상속 후자는 가지는 것 )
1.loader를 상속 받는다 .... is a 관계  (내가 ~이다 )
2.loader를 하나 가진다 .... has a 관계  (내가 ~을 가진다 )
*******상속은 하나 밖에 못받기 때문에  has a가 더 유연하다  필요에 따라 여러개 가져올 수 있으므로 **********

이에 대한 실험은 ImageLoaderTest와 XMLLoaderTest를 참고하기 바란다.


Posted by chacolina