일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- as2
- as3.0
- Chart
- 집합의 연산
- watch
- CLIK
- 태그클라우드
- GDC
- scaleform3
- autodesk
- as3
- 애드온
- 강좌
- scaleform4
- DataBinding
- flash
- scaleform
- 스케일폼
- MMOKit
- 플래시
- addChild
- 수학정석
- 형변환
- 샌프란시스코
- KGC 2013
- Document Class
- flash player 10
- 클릭
- flash cs3
- ApplicationDomain
- Today
- Total
목록스케일폼 (68)
scaleform.minarto.com
CLIK 은 생산성 위주의 프레임웍이고 그에 따른 컴포넌트 들을 가지고 있습니다. UIComponent 가 MovieClip 을 상속받아서, Flash IDE 상에서 바로바로 디자인을 바꾸고 일반화된 기능들을 적용할 수 있게 합니다. 이렇게 생산성에 최적화 된 것은 CLIK 의 커다란 장점입니다만... 생산성에만 최적화 되어 있는 것은 아닙니다.성능도 나름 최적화를 시키려 하고 있습니다. UIComponent 를 까보면 다음과 같이 동작합니다. 변경사항 발생V변경 값 저장Vinvalidate 실행Vas2 : 1ms 뒤에 렌더링 / 그 후 타이머 해제as3 : 다음번 렌더이벤트 시나 다음번 엔터프레임 이벤트에 렌더링 / 그 후 이벤트 해제 여기서 중요한 포인트는 invalidate 실행Vas2 : 1ms ..
전까지는 플래시 개발을 하다가 작년 5월부터 시작했으니, 딱 1년이 되는 셈입니다...전에도 한달째에 관련 글을 올린 것 같기도 한데... 혹시나 저같은 케이스를 원하는 분들이 있을지 모르니, 소회겸 몇몇 글을 좀 적어보죠...하지만 이는 제 생각일 뿐입니다... 전 1년밖에 안됐을 뿐입니다.다른 분의 케이스와는 전혀 다름을 알립니다. 1. 연봉은 적다. 제일 궁금하실 것 같은 순서부터 적을게요... 기존 업계(SI라던가, 에이전시라던가, SNG라던가)보다 확실히 적긴 합니다. 아닌 분들도 있겠지만 저같은 경우는 맨 앞자리 정도가 차이가 나네요...물론 어느 정도 이상의 연봉 수준에서 얘기입니다. 신입은 어디나 거의 같잖아요...오히려 신입은 2번의 경우까지 생각하면 훨씬 나을지도... 2. 하지만 복지..
음... 다시 블로그를 재개해보려고 합니다. 사실 글은 꾸준히 써놨어요. 지금 발행대기 중(?) 이 글 말고도 7개 정도가 더 있네요...다만 그동안의 랜덤이 아닌 매주 월요일 아침에 꾸준히 올리려고 좀 모아놨었지요... 블로그 운영 스타일을 바꿔보려고 했달까요? 근데 오늘은 아침에 아이맥스 들려서 박쥐남자를 보고 와서리 늦었네요... ㅎㅎㅎ 뭐 어쨌든 각설하고... UDK 5월 버전이 나왔습니다 http://www.udk.com/news-beta-may2012.html (이 글을 썼던 시점이 5월 15일이니까요...ㅋㅋㅋ)UDK 5월 버전에 통합된 스케일폼 버전은 다음과 같습니다 gfx 플레이어 4.0.16AMP 4.0.14CLIK 4.0.15 (C:\UDK\UDK-2012-05\Development\..
http://scaleform.minarto.com/351 에서 이어집니다 네, 속도 또한 빨라집니다. new Sprite 라고 Sprite 객체를 생성하면 vm 내부적으로 어떤 일이 일어나는지 볼까요? new Sprite new DisplayObjectContainer new InteractiveObject new DisplayObject new EventDispatcher new Object 이렇게 내부적으로 6개의 객체가 생깁니다. 객체의 생성비용은??? 그 객체가 차지하는 메모리의 비용은??? 뭔가 끔찍하지 않습니까? 여러분이 레퍼런스에서 보는 상속관계도는 단지 그림만이 아닌겁니다. 바로 내부적인 객체의 생성과정 또한 나타내는 것이죠. 형변환이란게 말이죠... 별개 아닙니다. 내부적으로 변수가 가..
http://scaleform.minarto.com/350 에서 이어집니다. 자 다시한번 코드를 보죠... package { import flash.display.Sprite; import flash.events.*; public class test extends Sprite { public var b:ButtonX; public function test():void { trace(b) } } } 잘보면 ButtonX 가 임포트 되어있습니다. ButtonX 가 패키지명이 있었다면 위쪽에 따로 임포트도 되어있었겠죠... import com.minarto.ButtonX; 뭐 이런 식으로요... 어쨌든 임포트 되어있습니다. 그런데 이게 문제인겁니다. 기존에 버튼을 확장해서 만들어놓은 파일을 libs.swf 라..
앞선 Autodesk Gameware User Summit 2012 글에서도 잠시 언급했지만 이 문제로 생각보다 많은 분들이 어려움을 겪고 있다는 것을 알았습니다. 그런데 스케디모 내에서 진행하는 스터디에서도 몇몇 친구들을 가르치다 보니 이게 단지 몇명만의 문제가 아니더군요... 귀차니즘을 물리치고 아무래도 포스팅을 해야겠다는 생각을 했습니다. 사실 왜 이런 문제가 발생할 지에 대해서 좀 유추해보면 이렇습니다. 1. C++ 개발자들은 뭐 당연히 Actionscript 라는 스크립트 언어에 익숙치 않아서일거고요... 2. 플래시 개발자들은 당연히 알아야 할 듯 하지만서도... 사실 웹쪽에서의 플래시 어플리케이션 개발에는 라이브러리를 통한 런타임 공유를 하지 않습니다. 다른 방법들을 쓰거든요... 하지만 스..
http://www.minarto.com/346 에서 이어집니다 뭐 당연히 컨테이너가 될 MovieClip 가 있을 것이고 그 안에 MoiveClip 들을 만들어 로드를 하겠지요... 그 컨테이너가 _root 가 됐건 아니건 말이죠. as3 용 mmokit 과 비슷한 방식으로 만들어본다면 WindowManager.init($canvas:MovieClip); 이런 식으로 초기화를 하도록 static 메소드를 하나 만들면 될겁니다. 싱글턴으로 하던지 아니던지는 알아서 하시고, 중요한건 마우스 이벤트겠죠?Mouse.addListener(this);마우스 이벤트를 연결합니다. 그럼 당연히 onMouseDown 을 구현해야 하고요... 그런데 과거 포스팅에서도 언급한 적이 있는데, 스케일폼에서는 플래시와는 다른 ..
플래시는 컴파일이 없는 스크립트 언어입니다.그렇기 때문에 런타임시에 코드 그대로 실행해버립니다... 컴파일 과정의 최적화가 없다는 뜻입니다. 그래서 그 최종 성능은 개발자의 역량에 따라 천차만별로 변할 수 있습니다. 가장 빠른 반복문에 대한 연구는 꽤 많습니다...구글에 "반복문 최적화" 라고만 쳐도 굉장히 많은 양의 내용이 뜰겁니다. 참고로 이 내용은 제가 js 스터디를 하면서 알게된 내용입니다.http://cafe.naver.com/wapp 이 카페를 참고하세요... (홍보 한번!!!!) 1. length 캐쉬 가장 많이 쓰이는 반복문인 for 문부터 보죠... for(var i = 0; i
mmorpg 를 만들다 보면 캐릭터 정보창, 인벤토리, 상점 등등등... 수많은 윈도우를 만들게 됩니다.fps에서는 로비가 아닌 인게임에서 나오는 조작 가능한 UI는 많아봤자 10개 정도 될까요??? 아예 없을 수도 있죠...어쨌든 mmorpg는 fps 와는 비교도 할 수 없이 창 UI 가 많죠... 우린 그 많은 윈도우 중에서 어느 윈도우가 마우스와 인터랙션이 일어났는지 알아내야 합니다.해당 윈도우를 가장 상위 z뎁스로 올려야 할 수도 있고, 드래그가 되도록 해야할 수도 있기 때문입니다. 그런데 as2용으로는 MMOKit 이 없다보니, CLIK 중에는 Window 클래스 또한 없습니다. 정확히 말하면 없는게 아니라 숨겨져 있습니다. (as3용으로는 공식 CLIK 으로 승진합니다만...)UDK 기준으로 ..
http://scaleform.minarto.com/343 에서 이어집니다 앞선 코드가 일단 돌아가긴 합니다만... 좀더 테스트 해보면 한가지의 키값에만 반응(?)을 합니다. 키값별로 실행함수들을 묶어놓을 필요가 있는 셈이죠... 그래서 __binds__ 속성을 그냥 오브젝트로 선언해 각 키값으로 __binds__ 의 키를 만들어 배열을 값으로 넣어서 사용해야합니다 bind 함수에서는 $t.__binds__ = {};이렇게 되어야 하고 __bindHandler__ 함수는 네번째 인자로 해당 키값으로 검색된 배열을 인자로 던져줍니다__bindHandler__($p, $old, $new, $binds:Array):Void이렇게 되는 것이죠... addBind 는 다음과 같이 구현합니다. function ad..