전부 감상
Flash Player와 Air간의 작업
모바일 AIR 앱을 만드는 와중에매번 apk로 패키징하여 모바일에 넣기 귀찮아서 로컬PC에서 html로 실행하여 Flash Player로 돌려보고 있었다.근데 AIR에 있는 소스가 Flash Player에는 없는 경우가 있다.런타임에서 해당 소스에 당도하게 되면 런타임 에러가 발생한다.이런 경우에는 해당 소스를 따로 함수에 빼놓고 호출하지 않으면 된다. 모바일 AIR앱을 로컬PC에서 손쉽게 돌려보는 좋은 방법이 없을까...
File.applicationDirectory에 파일 Write 하기
var file:File = File.applicationDirectory.resolvePath('경로1' + File.separator + '경로2'); this.fileStream.open(file, FileMode.WRITE); 를 하면 File Write하는데 에러가 발생한다. SecurityError: fileWriteResource at flash.filesystem::FileStream/open() 해결방법 var file:File = new File(File.applicationDirectory.nativePath + File.separator + '경로1' + File.separator + '경로2'); this.fileStream.open(file, FileMode.WRITE); 문제는..
AIR sdk 최신버전 다운로드(3.6버전 기준)
http://www.adobe.com/devnet/air/air-sdk-download.html 1. Download Now라는 버튼에서 다운받으면 이상해진다...화살표 된 곳에서 받아야 한다... 2. 설치 방법은 http://devmae.tistory.com/336 3. 설치 후...Additional compliler arguments에서 -locale en_US를-locale en_US -swf-version 19로 수정해준다. 4. 마지막으로 -app.xml에서 air버전을 3.6으로 수정해준다.( )
mp3파일 로드해서 로컬폴더에 생성 후 플레이하기
package { import flash.display.Sprite; import flash.events.Event; import flash.filesystem.File; import flash.filesystem.FileMode; import flash.filesystem.FileStream; import flash.media.Sound; import flash.net.URLRequest; import flash.net.URLStream; import flash.utils.ByteArray; public class FileWriteTest extends Sprite { private var fileData:ByteArray = new ByteArray; private var sound:Sound; pu..
Flash Builder 4.7 swc 버그
Flash Builder 4.5 버전으로 작업하던 중 4.7버전 serial번호를 획득하여 4.5->4.7 포팅을 감행했다. 그랬더니 swc소스가 완전 이상해져 버렸다.(Flash CS5.5로 제작한 swc - Flash Player 10.2) 포팅문젠 줄 알았더니, Flash Builder 4.7의 문제였다. 해결방법.1. Flash Builder 4.7에서 동일한 프로젝트를 생성한다. 2. Flash Builder 4.5에서 작업했던 소스들(as파일들, swc, certificate등등...)을 고대로 가져온다.(4.7미만버전 ->4.7 포팅 유저가 아니라면 이 단계는 패스) 3. 프로젝트 root폴더의 .actionScriptProperties를 편집기로 연다. 4. useFlashSDK라는 속성을..
fla에서 폰트임베드하여 swc를 뽑아낸 후 Flash Builder에서 사용하기
플래시 빌더에서 사용할 이미지 리소스를 fla에서 만들고 swc를 생성하여 빌더에서 사용한다.fla를 여러개 쪼개서 사용할 경우, "A"라는 폰트를 임베드하려면 "A"폰트를 사용하는 각 fla의 라이브러리에 해당 폰트가 존재해야 한다.각 fla에 "A"폰트가 임베드되어서 swc가 뽑히고 난 후 빌더에서 swc들을 임베드하여 사용할 땐"A"폰트가 하나의 용량으로 인식된다.(각 swc에 들어있지만) 여기서 주의할 점이 있다.각 fla에서 swc퍼블리싱시에 설정에서 Automatically declare stage instances 체크를 해제하여야 한다.
getDefinitionByName를 통해 내가 만든 클래스 참조하기
getDefinitionByName(name:String)함수는 name 매개 변수로 지정된 클래스의 클래스 객체에 대한 참조를 반환하는 함수이다. 근데 내장클래스는 참조가 되는데 커스텀 클래스는 참조가 안된다. package lib { import flash.display.Sprite; import flash.events.Event; import flash.utils.getDefinitionByName; import lib.Test; public class Docu extends Sprite{ public function Docu(){ this.addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage); } private function onAddedTo..