코드/ActionScript & MXML 10

플렉스 코딩 폰트 변경

이런 사소한 걸 국내 사이트에서 찾기가 오히려 빡시다. Quicktip: Changing the font in Flex 3 editor Have you ever wanted to turn enlarge that font size in the code editor in Flex builder 2/3, but have thrown in the towel after several hours poking around to find this setting? Since Flex is build on Eclipse, this part of the editor is actually identical to the Eclipse interface. To change the font, choose Window -> Pref..

Automatically declare stage instances

Properties 창에서 ActionScript Settings 의 Edit 버튼을 누르면 오른쪽과 같은 팝업창이 뜹니다. 거기서 Stage : Automatically declare stage instances 옵션을 해제 합니다. 디폴트 값은 체크되있습니다. 이 옵션은 스테이지에서 생성한 인스턴스드들을 자동으로 멤버변수로 선언해주는 옵션입니다. 이 옵션은 반드시 끄고 사용해야합니다. 수많은 컴파일 에러와 런타임 에러를 동반하는 무서운 옵션이랍니다... 뭔 소리냐니깐 스테이지에서 임의의 무비클립을 생성하고 properties 창의 name 부분에 "mc" 라고 이름을 적어 둡니다. 일반적으로 저렇게 한뒤 메인 클래스 파일에서 this.getChildByName("mc") 나 this.mc 이런 식으로..

Object["String"]

김 :무비클립이 하나있다치면.김 :trace(mv["width"]);김 :이런걸 쳐보면 그 무비클립의 넓이가 나오더라고요 ㅎ김 :마찬가지로"y","x" 뭐 다 되던데.김 :이건 디스플레이 오브젝트의 속성을 배열같은것으로 가지고 있는건가요? www.grotesq.com 의 말 :기본적으로 Object 자체가 www.grotesq.com :속성에 대해서 그렇게 접근할 수 있거든요 www.grotesq.com 의 말 :var obj:Object = { value1:1, value:2 }; 하고 www.grotesq.com 의 말 :trace( obj[ "value1" ] ); 하면.. 김 :음.. 저렇게 접근이 되는거였군요... 김 :어쩌다보니 알게되었는데...신기해서요 ㅎ 김 :모든 객체에 다 적용이 되는건..

렌더링 문답.

On Thursday 28th October 2010, @hika00 said: #as3t 3D플래시 어플리케이션을 만들며 문답.....................김: 음 제가 이번에 이 3D 작업 해보면서.. 어떻게 만들긴 했는데 상당히 cpu를 먹더라구요 ''; 맹: 암튼 3D는 cpu를 많이 먹어 그건 사실이잖아 김: 네 이거 어쩔 수 없는건가요?? 음 지금 cpu 모니터링 해보니까 대략 평균이 30% 정도.. 그 cpu를 많이 먹게 되니까 페이지에 있는 다른 swf 들에도 영향을 되게 많이 끼치더라구요??? 맹: 그럼 어떻게 적게 먹게 만드냐인데 정답은 최대한 render를 덜 호출하는거지 김: 전에 블로그에서 본 것 같아요 맹: render를 얼만큼 적게 호출하냐에 대한 답은 가능하면 많이 돌..

AS3.0 리스너 자동 제거하기.

as3에서 메모리릭의 가장 큰 주범은 뭐니뭐니 해도 이벤트 리스너입니다. 약한 참조가 실제로 동작하지 않기 때문에 일단 addEventListener를 했다손 치면 Dispatcher도 Listener도 전혀 GC가 안됩니다. 매번 꼼꼼하게 removeEventListener를 해주는게 정답입니다만 그게 어디 그렇게 쉽나요. 1회성 이벤트의 경우 사용 후 즉시 해제하는 경우가 많습니다. 또 그렇지 않더라도 조건을 걸어서 얼마든지 자신이 호출되는 시점에 제거하는 건 가능하겠죠. 지금 소개시켜드리는 간단한 코드는 리스너가 스스로를 해지할 수 있게 도와줍니다. 1 function listener( $e:Event ):void{ 2 3 $e.target.removeEventListener( $e.type, ar..