as3.0 swf 의 url알아내기

[분류없음]
2.0 방식에서는 _url이라는 전역변수로 swf의 위치를 손쉽게 알아 낼수가 있었습니다.
이게 나름대로 효용성이 있는게 자신이 현제 로컬에서 작업을 하는 상태인지 아니면 온라인 상태인지를 체크해서 상황에 맞추어서 파일을 로드해 올수 있도록 해줄수가 있어서 나름 편하게 사용할수가 있었지요
ex)
if(_url.substr(0,3) == "htt")
{

}
이런식으로 상황에 맞추어서 작업이 가능했었습니다.
2.0에서 이런식으로 가능하죠.....

그럼 3.0에서는 어떻게 ,url을 알아 내는지 한번 알아보도록 하겠습니다.
import flash.display.LoaderInfo;
if(this.loaderInfo.url.substr(0,3) == "htt")
{

}
이런식으로 현제 swf의 위치하는 정보를 알아낼수가 있습니다.
2008/07/08 12:11 2008/07/08 12:11

한국타이어 Enfren

[Work]

http://enfren.hankooktire.com/

AS3.0을 이용한 첫 작업이 되었다.
기능적으로도 심플하고 개발쪽에 연동되는 작업또한 고난이도가 없었기 때문에 3.0을 활용해 제작을 하기로 마음을 먹고 제작을 하게 되었다.
그동안 테스트나 필요할만한 클래스를 제작해 두었지만 혹시 나올지 모르는 버그나 레퍼런스가 절대적으로 부족해서 쉽지 않을거라 생각을 했었는데 역시나 버그가 하나둘씩 나왔다.
프로젝트 동안에 발생한 버그.

1. 엔터 프레임으로 무비클립을 제어하는 동안에는 엔터프레임으로 제어되는 클립안의 무비클립은 멈추게 된다.(이부분은 다른 사람들에게 물어봤지만 다들 모르고 있는 버그였다 차후에 문제가 있을듯 하다...)
2. 로드된 swf를 삭제할 경우 오브젝트가 남아있다.(flv,사운드,리스너등이 남게된다. 스코프를 잃어 버린 상태에서 혼자 작동을 하고 있기 때문에 심각한 문제였다.) help에 명시되어 있기 때문에 버그라고 할수는 없고 알아서 리소스 관리를 잘해줘야 할듯하다...^^;;;
3.xml데이터를 불러왔을때 4000자 이상의 문자가 있을경우 제대로 인식이 되지 않는 문제(이건 정말 심각한 문제였다. 할수 없이 utf - 8 로 형태를 바꿔서 불러왔지만 실제 개발쪽과 연동이 된다면 이건 통용이 안될수도 있기 때문에 xml로 연동하는건 생각을 해봐야 할 문제인것 같다.)

원래부터 버그를 예상하고 작업했지만 정말 as3.0은 왼지 내가 베타 테스터가 되는 느낌이 강하다.
버그도 많고 너무 성급히 출시 한게 아닌가 하는 생각이 들정도...;;;; 아무튼 무리 없이 오픈했기에 뿌듯하다..

2008/06/13 12:27 2008/06/13 12:27

cs 3.0 네비게이션 만들기

[Flash/script]

네비게이션을 만들어 보면서 몰랐을때는 정말 이젠 앞으로 노가다좀 해야 겠다는 생각을 가지게 만든 부분이었다.

보통 무비클립영역 아래 버튼을 만들게 되면 기존에는 무비클립에 영향을 받질 않았다 그런데
cs3로 넘어 오면서 이부분이 바뀌게 되었습니다. 아래 swf를 보시면 반투명의 파란 색 무비클립이 보라색의 버튼 부분을 가리고 있습니다. 예전같으면 무시 했을걸 이제는 무비클립이 막아 버립니다.

그래픽 심볼의 경우는 버튼이 무시하고 히트영역이 잡히지만 이제는 무비클립이 버튼보다 위에 있는 경우에는 영역을 벗어 날수가 없습니다.

사실 장단이 있지만 의외로 작업을 할때 신경이 쓰이는 부분입니다.

이럴 경우를 대비해서 아래 속성들이 존재합니다.

대상 무비클립.mouseChildren= false;
대상 무비클립.mouseEnabled = false;

위에 있는 건 대상 무비클립 안에 있는 무비클립이 마우스 이벤트를 감지 하는 옵션을 끄는 부분
아래 있는건 대상 무비클립 자체의 마우스 이벤트를 감지를 끄는옵션 입니다.

이 코드를 두개다 넣어 줘야 하겠더군요

2008/04/01 17:24 2008/04/01 17:24

AS 30 달라진 loadVars 사용하기

[Study]

플래쉬에서 외부테이터를 연동하기 위해서 사용 하는 함수가 기존엔 loadvars였는데 이번에도 새롭게 바뀌었다. 링크를 걸어주는것과 대동소이 한것 같다... 아쉽게도 아직까지 실무에서 사용을 하지 않기 때문에 페이지에 값을 넣는건 아직 해보지 못하고 있지만.... 시간이 허락하는데로 테스트를 해봐야 겠다...^^

more..

2008/01/24 11:47 2008/01/24 11:47

AS 30 달라진 flahvars 사용하기

[Study]
플래쉬와 html상에서 가장 간단하게 데이터를 주고 받을수 있는 방법은 flashvars로 데이터를 넣어주는것이다.
그런데 기존처럼 flashvars로 넣어주는 변수명을 있는걸로 가정을 하고 코딩을 하면 이게또 친절하게 에러가 난다. 바뀐 방식이 있을거라곤 생각했지만 찾기가 쉽지 않았다...-_-;;;
이 외부에서 넣어주는 데이터를 받아들이는건 새로운 오브젝트를 생성해서 받아들이는 방식이다.

more..

2008/01/23 11:35 2008/01/23 11:35

AS 3.0 동적인 파라미터 받아들이기

[Study]

AS 3.0은 파라미터의 갯수와 타입을 미리 정해준다.
만약 전달되어야할 파라미터의 갯수가 다르다면 아웃풋 창에서 에러를 만나게 된다..^^;;;
머 이 에러 메세지가 프로그램어들에게는 정말 고마우면서도 달갑지 안고 보고 싶지 않은 메세지이다...ㅎㅎ
그런데 코딩을 하다보명 항상 파라미터의 갯수가 같을수는 없다 값이 달라지거나 해야할 경우가 분명 생긴다. 그래서 해결책이 없을까 찾다 보니 역시나 헬프에 있었다...ㅋㅋ
방식은 의외로 간단하다....^^

more..

2008/01/23 10:55 2008/01/23 10:55

플래쉬cs3 의 트윈사용

[Flash/script]
어제 플래쉬cs3를 사용을 해 봤습니다.
물론 아직 회사에서 구매를 하지 않은 관계로 트라이얼로 깔아서 사용을 하고 있습니다.
지금까지는 플래쉬에서 스크립트를 2.0에서는 어느정도는 1.0에서 사용하던 스크립트가 가능했지만 이젠 아애 시작 화면에서 부터 어떤걸 사용할지 고르게 되어 있습니다.
3.0은 일단 on클립 이벤트는 아에 지원을 안하고 코드를 짤수 있는 곳은 as파일과 프레임 창에서만 코딩이 가능 합니다.
기존에 mx에서 사용하던 트윈도 이제는 fl이라는 패키지로 따로 묶여져 있더군요....
그래서 mx의 트윈 패키지가 그대로 존재 하는지 알고 찾다가 헤매다가 헬프에서 카데고리가 있더군요......;;;
그래서 헬프에서의 카테고리를 3.0으로 지정하고 다시 찾아 봤더니.....검색이 되더군요...;;;
이번 버전의 헬프는 외이리 어려운지 기존의 헬프는 거의 모든 구문들이 예제가 있는데 3.0의 예제는 너무 적어서 이해하기가 좀 난감한 부분이 많더군요...;;;;;;;
아무튼 트윈의 사용법을 한번 보도록 하죠.

more..


//
보시면 트위의 사용법은 거의 비슷합니다..
다른 점이라면 역시나 예전에 사용하던 콜백들은 더이상 통용이 되질 않습니다.
이벤트를 등록해야 지만 가능합니다...음
처음에는 너무 불편하다고 생각했지만 알파때 부터 사용해 왔던지라 이제는 익숙해 지더군요.....ㅎㅎㅎ
아무튼 위의 코드는 img1_mc라는 무비클립을 x축 으로 300까지 10프레임동안에 이동을 합니다.
그리고 사용한 트윈에 이벤트 리스너를 등록해서 이벤트를 받아 냅니다.
이틀동안 사용해보고 테스트 해본결과 정말 속도나 포퍼먼스는 좋아졌다란 생각이 듭니다.
다만 인터페이스가 -_-;;; 외 알파를 먹으면서 이동을 하는지....
2007/04/24 12:15 2007/04/24 12:15

특정 프레임 체크

[Flash/script]

특정 프레임을 지정하고 실행할 함수를 등록하면 함수가 실행되는 이벤트 리스너 개념의 메소드가 생겼습니다.

//프래임 이벤트를 실행할 함수 등록
this.addFrameScript(10, testFunc);

//함수 선언
function testFunc():void {
     trace("frame 10");
}
//
코드는 간단 합니다. 저런식으로 작성을 하게 되면은 10프레임이 됐을때 frame 10이라는 문자열을 출력을 하게 됩니다. 음....그런데 과연 저걸 어디다 써먹을지는...-_-;;;;;;

2007/03/06 09:58 2007/03/06 09:58

as3.0 사운드 스펙트럼

[Flash/script]

사운드 클래스는 어떻게 바뀌었을까 하고 오늘을 사운드 클래스를 좀 알아 봤습니다.
일단 가장 큰 변경 사항은 기존에 라이브러리에서 어태치를 할수있었는데 3.0에 오면서는 그게 지원이 안되는듯 합니다. attachSound 메소드가 사라졌고 쿡북에서 본내용을 보면 제가 해석을 잘못하지 않았다면 지원이 안되는듯 합니다.
무조건 사운드 클래스를 제어 하기 위해서는 외부파일을 불러서 작업을 진행 해야 하는듯 합니다. (-_-;; attachsound가 정말 안된다면 이거 꾀나 작업하기 기찮아 질듯 합니다. 디자이너나 모션 하시는 분들게 설명해서 직접 작업하게 하려면...;;;;)
사운드 클래스를 만들어 보고 플레이 해본다음 머 없을까 쿡북을 뒤적였더니 사운드 스펙트럼이란 샘플 소스가 있어서 제작을 해봤습니다.
이 샘풀은 BitmapData의 setPixel32라는 메소드를 이용해서 사운드 를 이미지 화 시켜주는 소스입니다.
음 이번에 3.0쿡북은 약간 실망스러운게 기존에 책들과 다르게 샘플 강좌중심의 소스가 많이 있는데 이상하게 책의 코드가 살짝씩 틀린부분이 있다 해야 하나...;;;; 아무튼 심심찮게 작동이 안되는 경우가 있습니다.
그래서 신나게 적어놓고 보면 작동이 안된다는...;;; 샘플 파일도 없구...이거참....제가 영어가 약해서 그런지 참... 기대를 많이 했는데 어떻게 보면 어도비에서 제공하는 레퍼런스를 보고 해보는게 빠를지도 모르겠습니다.
//

more..


예전에 간단히  loadSound, attachSound가 안되는게 아쉽지만 SoundMixer.computeSpectrum
를 이용해서 웨이브 파일의 정보를 읽어서 출력을 해줄수 있기 때문에 앞으로 사운들 이용한 작업이 더 편해질것 같습니다.
2007/03/02 17:16 2007/03/02 17:16

as3.0 xml 접근하기

[Flash/script]

플래쉬에서 xml 엘리먼트에 접근 하는것 자체가 거의 노가다 수준이었는데 이번에 3.0으로 가면서 부터는 정말로 코드가 이뻐졌다라고 표현할정도로 간단하고 쉽게 되었습니다.
기존의 무비클립을 접근하듯이 돗트 연산자를 이용하는 방식이라 구조의 이해도 빠른거 같고...일단 한번 볼까요?
//
//
<?xml version='1.0' encoding="euc-kr" ?>
<item>
<item>
<item>
  <name title="장난해?"/>
  <color>red</color>
</item>
</item>
<item>
<item>
  <name>Orange</name>
  <color>orange</color>
</item>
</item>
</item>

//
간단히 xml문서를 작성하시고 이제 도큐멘트 클래스에서 작성을 한다면
로드를 한다음에 var example:XML = new XML(event.target.data); 변수에 xml데이터를 저장합니다.
<name title="장난해"/>에 접근을 한다면 trace(example.item.item[0].name.@title) 이런식으로
Oragne에 접근을 한다면trace(example.item.item[1].name);
예전에 방식이라면 정말 복잡하죠...firstChild에 어쩌구 저쩌구....~_~;;;;;
아무튼 예뻐진듯 해요....다이어트를 하신거지...^_^

2007/02/14 11:39 2007/02/14 11:39