목록Flash (60)
180bpm
getDefinition() http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/flash/system/ApplicationDomain.html#getDefinition() getDefinitionByName() http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getDefinitionByName() getDefinition()은 외부에서 불러온 응용프로그램에서 클래스(혹은 네임스페이스, 혹은 함수)를 가져오는것 getDefinitionByName()은 내부 라이브러리에서 가져오는것. 다만 이렇게 해두면 외부 라이브러리 파일..
FD에서 편한점 중 하나가 Code Formatter다. VS 2005 쓸때는 이런 정렬 최적화 기능이 없어서 VA를 썼던것으로 기억한다. FD에서 Code Formatter를 사용하려면 적용 시킬 라인을 선택하고 오른쪽 클릭>Refactor>Code Formatter 그럼 코드가 셋팅에 따라 예쁘게 줄맞춤도 되고 코딩룰에 맞게 정렬된다. 다만, Default Setting으로 쓰면 AS에선 문제가 생길 수 있는 경우가 있는데 중괄호가 New Line 으로 되있기 때문이다. (그에 따라 생길 수 있는 문제 - http://powdersnow.egloos.com/4663674 ) 셋팅 수정은 Tools>Program Settings 근데 Advanced spaces After Colons Advanced ..
오늘 코딩 룰 평가에서 나온 이야기. function a() { return { } } function b() { return { } } trace(a()) trace(b()) 어떻게 찍힐까? undefined [object Object] 예에에에전에 AS 처음 다룰적에 썼었는데 AS에서는 세미콜론을 붙이지 않아도 알아서 자동으로 해당 라인이 끝난것으로 판단해서 편하다고 했다. 근데 알고보면 var a=1094124 가 컴파일러로 넘어가면 var a=1094124; 세미콜론을 알아서 붙여주는 형식이란다. 그러니까 a는 return { } 이 아니고 return; 이다. 줄 바꿈 하나 때문에 값이 아예 달라졌다. 덧. 이글루스에도 소스코드 넣으면 알아서 컬러 신택스 되는거 있음 좋겠다.
http://livedocs.adobe.com/flash/9.0_kr/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000689.html 값을 그냥 때려박는 것이다 var newArr = new Array("a", "b", "c"); var literalArr = ["a", "b", "c"]; new 문 생성은 newArr = 객체를 생성후 그 객체를 참조시키고.. 거치는거..였나 this인가 뭔가 들어갔던거 같은데.. 리터럴은 바로 값을 집어넣는 형식. 훨씬 더 빠르다. 다만 리터럴을 의도적으로 피할 경우가 생기는데 예를 들면 Loader의 동적 생성. 같은 로더에 반복적으로 들어가면 로더가 계속 덮어써지는 형식이기 때..
최중요 중괄호는 다음과 같이 사용해야만 한다 function f() { return{ } } 사용하지 말아야 한다 function f() { return { } } 이유 - 값이 아예 달라져버림. 컴파일러의 특성. 프로텍트는 언더바 중요 함수에서 데이터들을 사용할땐 캐시를 잡아서 사용하도록 한다 var tempStr:String = DisplayObject.name; var fromIdx:String = tempStr.substr(0, tempStr .length - 1); 쓰지 말아야함 var fromIdx:String = DisplayObject .name.substr(0, DisplayObject .name.length - 1); 이유- AS는 스크립트면서 런타임 기반이기때문에 데이터를 동적으로 생..
추가 설명. 이 그림에서 가운데 stage부터 mc6의 의미는 stage에 mc1이 있고 그 안에 mc2 그 안에 mc3..식으로 되어있는 구조이다. 이벤트 반응은 기본적으로는 캡쳐 상태(eventPhase : 1)에선 반응하지 않고 타겟팅이나 버블링 상태에서 반응한다. target은 지정된 객체, currentTarget은 버블링을 거치면서 이벤트가 처리되고 있는 객체. 그래서 currentTarget은 계속 변한다. *이벤트 클래스의 주요 속성 Type : String - 이벤트의 이름. 주로 상수를 많이 쓴다. target : EventDispatcher - 이벤트를 발생시킨 객체 참조 currentTarget : EventDispatcher - 현재 이벤트를 처리하고 있는 객체 참조 eventPh..
1. 로딩 이미지 클래스(Main_Loading)를 만들었는데 얘가 그림은 불러지는데 Complete 되면 호출될 핸들러랑 언로딩 되는 핸들러를 계속 찾질 못하고 있었다. 한나절동안이나 고생했는데 원인은 이미지 로딩 부분. public function loadImage($resourceURL:String):Void { var tempStr:String = "LoadingImg_L02.tga";. loader.addEventListener(Event.COMPLETE, this, "hnImageLoadComplete"); loader.load(tempStr, this, { _x : 0, _y :0, _width:stage.stageWidth, _height : stage.stageHeight } ); } 불..
import flash.text.TextFormat; import flash.text.TextField; var txtx:TextField; var tf:TextFormat = txtx.defaultTextFormat; tf.letterSpacing = 40; txtx.defaultTextFormat = tf; function textInsert():void { //요렇게 해야 새로 입력해도 씹히지 않음 txtx.text = "새료 입력된 텍스트입니다"; } textInsert(); 그렇다.
AS 2.0 코딩을 하던중에 TextField의 값을 받아와서 Number형 변수에 넣는 구문이 있는데 trace해보니 0이 앞자리에 들어오는 경우 (ex_'0123456')가 있어서 뭔가 해서 데이터형을 찍어 봤다 var iTempNumber:Number=1; TextField.text="0123456"; iTempNumber = TextField.text; trace (iTempNumber); trace (typeof iTempNumber); output > 0123456 string 보통 대입할 데이터형에 따라서 집어넣는 데이터가 (Warning이 뜨는 경우도 있지만) 형변환 되거나 에러를 뱉을텐데 얘는 반대로 되네..