일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 샌프란시스코
- 애드온
- ApplicationDomain
- scaleform4
- 형변환
- addChild
- as3.0
- flash
- 태그클라우드
- watch
- CLIK
- scaleform
- Chart
- MMOKit
- autodesk
- flash cs3
- DataBinding
- Document Class
- KGC 2013
- as3
- 스케일폼
- GDC
- 집합의 연산
- 강좌
- scaleform3
- 수학정석
- flash player 10
- Today
- Total
목록Communication (17)
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 ..
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..
새해 첫 포스팅입니다... 뭔가 야심차게 한번!!! 서로 문제 없이 프로그래밍을 했는데 문제가 있다??? 클라이언트와 통신으로 숫자를 주고 받던 도중 이상한 값들이 들어와서 한동안 헤맸던 적이 있습니다... 아무리 확인해도 애초에 잘못된 값이 들어오는데, 클라이언트는 아무리 확인해도 제대로 된 값을 던져줬다는 것이지요... 이것이 다 서로의 언어에 대한 몰이해에서 시작된 것입니다... Number, int, uint 플래시에서는 이렇게 세가지의 숫자 타입을 가지고 있습니다 uint 는 32bit 형의 정수형이고, int 는 32bit의 부호가 있는 (음수, 양수) 정수형입니다... 그러다 보니, int는 부호에 1bit를 나눠주느라 31bit (2^31 - xor 연산자 말고 승수요) 만을 사용합니다....