일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CLIK
- 애드온
- as3.0
- flash player 10
- scaleform3
- scaleform
- 태그클라우드
- GDC
- addChild
- Document Class
- flash cs3
- DataBinding
- scaleform4
- 수학정석
- ApplicationDomain
- as2
- KGC 2013
- 집합의 연산
- 형변환
- 스케일폼
- autodesk
- as3
- MMOKit
- 강좌
- 샌프란시스코
- flash
- 플래시
- Chart
- watch
- 클릭
- Today
- Total
목록scaleform (84)
scaleform.minarto.com
http://scaleform.minarto.com/343 에서 이어집니다 앞선 코드가 일단 돌아가긴 합니다만... 좀더 테스트 해보면 한가지의 키값에만 반응(?)을 합니다. 키값별로 실행함수들을 묶어놓을 필요가 있는 셈이죠... 그래서 __binds__ 속성을 그냥 오브젝트로 선언해 각 키값으로 __binds__ 의 키를 만들어 배열을 값으로 넣어서 사용해야합니다 bind 함수에서는 $t.__binds__ = {};이렇게 되어야 하고 __bindHandler__ 함수는 네번째 인자로 해당 키값으로 검색된 배열을 인자로 던져줍니다__bindHandler__($p, $old, $new, $binds:Array):Void이렇게 되는 것이죠... addBind 는 다음과 같이 구현합니다. function ad..
http://scaleform.minarto.com/342 에서 이어집니다 앞선 포스팅에서 작성한 코드로도 뭐 일단 돌아가긴 잘 돌아갑니다만... 좀 더 개선해보도록 하겠습니다. as2 는 클래스가 아닌 함수기반의 언어로서 언제든 함수의 실행컨텍스트를 변경할 수 있습니다. 그리고 해당 함수가 실행되는 컨텍스트는 this로 가르치게 됩니다. as2에서 작성하고 계시는 class 기반의 this 는 실제의 class 기반에서 만들어진 객체를 가르키는 this를 가르키는 것과는 차이가 있다는 말입니다. 예를 들어, button.onPress 에 함수를 정의하면, this가 button을 멤버변수(또는 객체?)로 가지고 있는 인스턴스를 가르키는 것이 아니라 button 을 가르키는 것을 말합니다. 하지만 여러분..
http://scaleform.minarto.com/335 에 이어지는 글입니다 앞선 포스팅에서 watch 의 단점으로 하나의 속성에 하나의 핸들러만 연결할 수 있다고 했습니다. 레퍼런스에는 "단일 감시점만 속성에 등록될 수 있습니다. 같은 속성에 대해 이후에 Object.watch()를 호출하면 원래 감시점이 바뀝니다." 라고 쓰여있네요... 뭐, 그래봤자 해결 방법은 사실 너무 간단합니다. var o = {level:1}; o.watch("level", hn); function f0($n):Void{ trace("f0 : " + $n) } function f1($n):Void{ trace("f1 : " + $n) } function hn($p, $o, $n):Void{ f0($n); f1($n); }..
앞서서 DataBinding 에 대해서 간략하게 말했습니다. 하지만 그건 사용법이었고, 사용하기에 앞서서 해야하는 것이 있습니다. MMOKit.as 파일의 99라인을 보면 DataBinding.initialize();이라고 데이터 바인딩을 초기화시켜 줍니다. 그럼 다음과 같이 클라이언트 쪽으로 다음과 같이 "dataBindingInit" 이라는 함수를 콜해줍니다.ExternalInterface.call("dataBindingInit", DataBinding); 이 녀석은 어디에 있느냐... 하면 다음의 파일을 열어주세요C:\Program Files (x86)\Scaleform\GFx SDK 4.0\Apps\Samples\DataBinding\CLIKDataBinding.cpp 이 파일을 열어보시면 71 ..
이 글은 오토데스크의 지원으로 3월 4일 ~ 3월 11일 간 샌프란시스코 GDC 2012 행사에 다녀온 내용임을 밝힙니다 http://www.gdconf.com/ http://area.autodesk.com/gdc2012 GDC 2012 의 포인트 1. 구글페이스북을 견재하려는 것일까요? 이번에 구글의 부스 규모는 상당했습니다.주로 구글 플러스의 게임들을 홍보하는 위주였죠... 요즘 이리저리 많이 밀리는 구글인데... 다시 왕자를 찾을까요... 2. 모바일뭐, 대세는 대세죠... 3. 클라우드제가 본 부스만 네다섯 부스가 넘는거 같았습니다.홍보 전단지에는 아마존 클라우드와 비교한 경쟁력에 대해 어필하기도 하고... 포인트라 했지만 쉽게 말하면 가장 많은 부스를 차지한 녀석들을 말한 겁니다.물론 규모로만 ..
scaleform4 에서는 CLIK 에 있는 DataBinding 을 통해서 클라와 데이터를 바인딩합니다. (뭐, 다른 커뮤니케이션 방법도 있지만요... 가장 간단한 방법을 말한겁니다) 플래시(플렉스) 내부 에서는 데이터 바인딩을 위해 set/get 함수를 많이 사용합니다. function set level($v:Number):void{ handler($v); } 뭐, 이런 식 말이죠... 하지만 as2를 위한 한가지 방식이 더 있습니다. 바로 Object.watch 를 이용한 방법입니다. (as3에서는 지원하지 않습니다. 쓸 필요도 없고요) as2나 js를 좀 해보신 분들은 이미 아시고 있을테니 뭐 제 설명은 필요치 않겠죠... 모르는 분들은 http://help.adobe.com/ko_KR/Flash..
사실 MMOKit 은 as2 버전으로도 있었습니다만... 그냥 껍데기에 가까운 샘플이었습니다. as3 용으로 들어있는 MMOKit 데모야 말로 제대로 된 데모라고 볼 수 있습니다. 그런데 UDK 에는 이녀석이 들어있지 않습니다. 아마도 언리얼의 워크플로우에 맞는지 검증이 되지 않기 때문에 제외했다고 생각됩니다만... 뭐 에픽 맘이죠... 여러분은 다운받기 위해서는 스케일폼 홈페이지에 들어가서 트라이얼 버전을 받는 수밖에 없습니다. 암튼 어찌어찌하여 받아보셨다면, MMOKit 을 조금씩 분석해보도록 하겠습니다. MMOKit 소스는 스케일폼을 따로 폴더를 지정하지 않고 설치하셨다면 다음과 같은 경로 안에 들어있습니다. C:\Program Files (x86)\Scaleform\GFx SDK 4.0\Bin\D..
1. TreeViewItemRenderer Window 편을 마지막으로 CLIK 편을 마치려고 했는데, 트리 메뉴를 쓸 일이 많아지더군요... 트리 메뉴야 샘플도 있고, 코드도 ScrollingList 를 상속받아 몇줄 되지 않지만서도 문제는 아이템 렌더러 쪽입니다. ListItemRenderer 는 버튼을 상속받은 거의 그대로이기에 별로 볼 것도 없고 쉽지만 TreeViewItemRenderer 가 꽤나 복잡한 편입니다 그런데 공식 component 가 아닌 샘플로만 존재하기 때문에 설명을 찾을 수도 없습니다. 쓰이는 빈도 수를 생각할 때, 이것도 공식 콤포넌트로 만들어줬으면 합니다. 어쨌든 한번 파보죠... TreeViewItemRenderer > ListItemRenderer (flex) > But..
앞 포스팅과 이어집니다. 3. this 포인터의 변경 위 코드에는 눈에는 보이지 않지만 생략된 것이 있습니다. var content:MovieClip = this.createEmptyMovieClip("contnet", this.getNextHighestDepth()); 바로 this 입니다. 생략을 했지만 이렇게 this 가 붙어서 실행되는 것과 같다는 거죠. (사실은 클로저로 설명해야 합니다만...쉽게 설명하려니 이렇게 해야겠군요.) 타임라인의 메소드나 변수는 __proto__ 를 통해 Document 클래스 객체의 것들을 가져다 쓰고 있지만 this 포인터는 여전히 Document 클래스 객체를 가르키고 있습니다. 그 객체는 스테이지에 존재하는 MovieClip 이 아니고 여전히 타임라인과는 무관한..
오늘도 주말에 회사에 나와 회사 코드를 좀 개선하려고 뜯어보고 고치고 하다가 만들어버린(실제로는 어제부터) 코드가 있습니다. 바로 as2 용 Document Class 입니다. 혹시 제가 포스팅에만 열중할거라 생각하시는 분이 있을까 하는 기우에 몇마디 드리자면, 보통 제가 포스팅을 할 때는 이렇습니다. 1. 회사 업무에 필요한 코드가 생겼다... 2. 개발 3. 파트원들에게 교육 4. 파트원들이 직접 적용하도록 함 (강의만 들으면 까먹으니깐...) 5. 그 중에서 외부에 오픈해도 될만한 주제로 선별하여 포스팅 게다가 회사 팀원들에게는 더 개선된 실제 코드를 보여주면서 강의를 하죠... 머랄까, 회사원으로서의 일종의 암묵적인 룰을 지킨다고나 할까요? 포스팅은 사실 빙산의 일각...(아니아니, 일각 보다는 ..