Flash
Flash Builder Color Theme 설치 오류
eclipse의 color theme중 pastel을 사용하는데마켓에서 설치시 에러가 발생했다.Cannot complete the install because one or more required items 어쩌고~~ 저번에 각고의 노력에도 불구하고 낙오하여 해결방법을 찾지 못했었는데 드디어 알아냈다. 1. https://github.com/hydra1983/misc/raw/master/eclipse-color-theme-0.12.0.zip 에서 파일을 다운받는다.압축을 해제하면 features와 plugins 두 폴더가 있다. 2. FlashBuilder 설치폴더\eclipse 에도 features와 plugins 두 폴더가 있다. 3. 폴더채로 복사해준다. 4. flash builder를 재실행하여 ..
runtime sharing을 통해 폰트임베드하기
1. 샘플은 font.swf, test.swf, useFont.swf 3가지로 구성되어있다.font가 export될 sharing swf이고, useFont가 font를 import하여 사용할 swf.test는 useFont를 URLLoader.load() 하여 화면에 보여줄 컨테이너 swf이다. 2. font.fla의 안에 sharing할 폰트를 구성한다.라이브러리에 폰트를 추가한다. 3. Character ranges에 임베드할 문자들을 체크한다. 4. ActionScript탭으로 넘어가서 Export for ActionScript, Export in Frame 1에 체크한 후Export for runtime sharing에 체크한다.그리고 URL에 font.swf를 적어준다. 파일명을 적절히 적으면..
AIR SDK 버전업하기
Flex Mobile Project는 new project시 Flex SDK 버전 선택이 가능한데ActionScript Mobile Project는 AIR SDK 버전 선택이 되지 않는다. 이럴 땐 폴더에 찾아 들어가서 수동으로 바꿔줘야 한다. 1. http://www.adobe.com/devnet/air/air-sdk-download.html 최신 AIR SDK를 다운받는다. 2. c:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_xxxxxx 를 찾아 들어가면 AIRSDK폴더가 존재한다. 3. 방금 다운받은 파일을 압축해제하고 AIRSDK로 폴더명을 변경한 뒤 2단계의 폴더에 넣는..
LoaderInfo.uncaughtErrorEvents 발생 환경
LoaderInfo.uncaughtErrorEvents는 try..catch문으로 잡지 못한 에러나 ErrorEvent 리스너가 등록되지 않은 에러에 대해서 하나의 SWF당 한곳으로 몰아넣는 역할을 한다. this.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, this.onAllRuntimeError); function onAllRuntimeError(e:UncaughtErrorEvent):void { if (e.error is Error){ //Error }else if (e.error is ErrorEvent){ //ErrorEvent }else{ //etc Errors } } 다만, 플래시 빌더에서..
Flash Builder 검색시 특정 폴더에서만 검색하기
Flash Builder로 개발하던 중 특정 패키지내의 클래스에서 싸그리 수정해야 하는 이슈가 생겼다.고맙게도 Flash Builder에서는 폴더 조건부 검색이 가능하다. "super.x = "라는 검색어를 특정 package내에서만 검색하고 싶다. Choose 클릭. 특정 package를 생성하기 위해 New를 클릭. Resource를 선택하고 Next 클릭. 특정 package를 선택한 후 Working set name에 원하는 이름을 입력하고 Finish를 클릭. 방금 생성한 Working Set을 체크하고 Ok 클릭. 이제 lib.common.popup 패키지 내의 클래스에서만 "super.x = " 의 키워드를 검색하게 된다.
도메인이 다른 swf의 자원 사용하기
안드로이드에서.. File.applicationDirectory는 url이 "app:/", File.applicationStorageDirectory의 url은 "app-storage:/" 가 된다.그렇기 때문에 applicationDirectory에 설치된 앱은 applicationStorageDirectory의 swf를 로드해서 그 안의 자원을 사용하려고 하면 보안 에러가 발생한다. 일반적인 Loader.load()를 사용하여 swf를 로드했다면 위와 같은 문제가 발생하지만Loader.loadBytes()를 이용하면 해결된다. package { import flash.display.Loader; import flash.display.MovieClip; import flash.events.Event; ..
자기 클래스 이름 알아내기
package { import flash.utils.describeType; public class Test{ public function Test() { // constructor code trace(describeType(this)); trace(describeType(this).@name); } } } describeType이라는 놈을 이용하면 클래스에 대한 정보를 xml형식으로 받아올 수 있다. 정보 xml중 name속성을 이용하면 현재 클래스 이름을 참조 가능하다.
Flash Player와 Air간의 작업
모바일 AIR 앱을 만드는 와중에매번 apk로 패키징하여 모바일에 넣기 귀찮아서 로컬PC에서 html로 실행하여 Flash Player로 돌려보고 있었다.근데 AIR에 있는 소스가 Flash Player에는 없는 경우가 있다.런타임에서 해당 소스에 당도하게 되면 런타임 에러가 발생한다.이런 경우에는 해당 소스를 따로 함수에 빼놓고 호출하지 않으면 된다. 모바일 AIR앱을 로컬PC에서 손쉽게 돌려보는 좋은 방법이 없을까...