본문 바로가기

액션스크립트

문자열의 패턴 및 하위 문자열 찾기 http://livedocs.adobe.com/flash/9.0_kr/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000084.html 더보기
이벤트와 이벤트리스너 함수의 인자 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoadComplete); loader.load(new URLRequest("moonMap.png")); ... 중략 private function imageLoadComplete(event:Event):void { textureMap = event.target.content.bitmapData; ... 하략 } 이벤트리스너를 LoaderInfo 객체가 설정했으므로 (위에 붉은색) 아래 이벤트 함수에서 event.target 은 LoaderInfo 객체로 볼 수 있게 되어 content 속성에 접근할 수 있게 된다. 더보기
LoadInfo 에 대한 새로운 느낌. LoaderInfo 클래스는 로드된 SWF 파일 또는 로드된 이미지 파일(JPEG, GIF, PNG)에 대한 정보를 제공합니다. LoaderInfo 객체는 어떤 표시 객체에서도 사용할 수 있습니다. 제공되는 정보에는 로드 진행률, 로더의 URL 및 로드된 내용, 해당 미디어의 총 바이트 수, 미디어의 공칭 높이 및 폭이 포함됩니다. 두 가지 방법으로 LoaderInfo 객체에 액세스할 수 있습니다. flash.display.Loader 객체의 contentLoaderInfo 속성 - contentLoaderInfo 속성은 모든 Loader 객체에서 언제든지 사용할 수 있습니다. load() 또는 loadBytes() 메서드를 호출하지 않았거나 제대로 로드되지 않은 Loader 객체의 경우, content.. 더보기
계층구조의 SWF 파일 빌드하기 가령 1.as, 2.as 파일이 10.fla 파일에 연결되어 10.swf을 만들어 내고 10.swf, 11.as, 12.as 파일이 100.fla 파일에 연결되어 있다면 100.fla 파일을 리빌드한다고해서 1.as 파일에서 수정한 것이 반영되지는 않는다. 반드시 1.as 파일이 직접 연결된 10.swf 파일을 리빌드하고 100.fla 파일을 리빌드하여 100.swf 파일을 만들어야 모든 것들이 제대로 반영된다. 더보기
외부 SWF파일 사용하기 public function RuntimeAssetExplorer() { var path:URLRequest = new URLRequest("GeometricAssets.swf"); //LoaderContext 클래스는, Loader 클래스를 사용해, SWF 파일등의 미디어를 // 로드하는 옵션을 지정합니다. var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener (Event.COMPLETE,runtimeAssetsLoadComplete); loader.load(path,.. 더보기
가변인수와 default 인수 VC++에서 ... 을 사용하듯 AS에서도 ... 을 응용하고 있다. 그리고 디폴트 인수는 VC++과 동일하다.. function test(separator:String, ...args:Array):void { trace(rest.join(seperator)); } --> test(":", a,b,c,d); --> 출력: a:b:c:d test(".", 0,1,2,3); --> 출력: 0.1.2.3 더보기
as 의 기능 // RuntimeAssetExplorer.as 예제에서.. private function addAssetToStage(me:MouseEvent):void { // 캐스팅 시 타입이 맞지 않으면 예외가 발생하지만 as 를 써서 강제 캐스팅을 하게 되면 // 예외 발생이 아니라 디폴트 값을 넘겨준다, // 가령 var a:Sprite = new Sprite(Array()): --> 예외 발생 // var a:Sprite = new Array() as Spite; --> null 반환 // var a:Number = new Array() as Number; --> 0 을 반환 var AssetClass:Class = getDefinitionByName(cb.selectedItem.data) as Class;.. 더보기
객체 드래그 앤 드랍 private function startDragAsset(event:MouseEvent):void { var target:MovieClip = MovieClip(event.currentTarget); target.startDrag(); } private function stopDragAsset(event:MouseEvent):void { var target:MovieClip = MovieClip(event.currentTarget); target.stopDrag(); } 복잡하게 좌표로 할 필요가 없다... 정말 편하네.. ㅠㅠ 내가 원하는 객체로 잘 캐스팅만 해주면 된다. 더보기