일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- as3.0
- KGC 2013
- 태그클라우드
- ApplicationDomain
- CLIK
- scaleform3
- DataBinding
- GDC
- flash player 10
- 수학정석
- flash
- 플래시
- 스케일폼
- 형변환
- 집합의 연산
- watch
- flash cs3
- MMOKit
- scaleform
- 강좌
- autodesk
- scaleform4
- addChild
- 애드온
- 클릭
- as3
- 샌프란시스코
- Chart
- Document Class
- as2
- Today
- Total
목록as2 (11)
scaleform.minarto.com
2013/02/04 - [ActionScript] - as2용 Dictionary 클래스 만들기 - 0 2013/02/07 - [ActionScript] - as2용 Dictionary 클래스 만들기 - 1 1. 기존 코드의 문제점 두개 이상의 Dictionary 에서 같은 객체를 참조하면 문제가 발생한다고 말했습니다. 객체 안에 고유한 인덱싱 값을 넣어서 활용하게 되는데, 그건 하나의 Dictionary 안에서만 고유하기 때문입니다. 그렇기 때문에 지금부터 할 일은 전체 VM 상에서 고유하게 만드는 일입니다. 방법은? 물론 당연히 static 명령어를 이용해서 처리할 수 있습니다. 자, 코드를 보시죠 dynamic class com.minarto.utils.Dictionary { private stat..
2013/02/04 - [ActionScript] - as2용 Dictionary 클래스 만들기 - 0 1. 이어서... 다시 한번 코드를 보시죠 dynamic class com.minarto.utils.Dictionary { public function Dictionary() { this.__proto__.setValue = Dictionary.prototype.setValue(); } public function setValue($target, $value) { var c:Number = 0; returnfunction($target, $value):Void { if ($target) { $target.__dictionary__ || ($target.__dictionary__ = ++ c); this..
1. 인기가 없는 Dictionary 클래스 actionscript 3 부터 지원하는 Dictionary 클래스는 꽤 유용하게 쓰입니다. 하지만 여러 데이터 컨테이너 중에서도 가장 안쓰이는 편이기도 한 녀석입니다. 데이터 컨테이너에 관한 글은 히카님의 블로그에 보면 꽤나 자세히 설명되어 있습니다. http://www.diebuster.com/flash/59 제 생각일 뿐입니다만... 아마도 그 이유는 익숙치 않기 때문일 거라 생각합니다. as2 시절에는 없던 클래스이기도 하거니와, Dictionary 는 포인터를 쓸 수 있는 데이터 컨테이너인데, 대부분의 플래시 개발자들은 포인터를 사용한다는 것에 대해서 이해가 부족하기 때문입니다. Dictionary 를 또다른 Object 정도로만 생각하는 것이 중수 ..
http://www.minarto.com/346 에서 이어집니다 뭐 당연히 컨테이너가 될 MovieClip 가 있을 것이고 그 안에 MoiveClip 들을 만들어 로드를 하겠지요... 그 컨테이너가 _root 가 됐건 아니건 말이죠. as3 용 mmokit 과 비슷한 방식으로 만들어본다면 WindowManager.init($canvas:MovieClip); 이런 식으로 초기화를 하도록 static 메소드를 하나 만들면 될겁니다. 싱글턴으로 하던지 아니던지는 알아서 하시고, 중요한건 마우스 이벤트겠죠?Mouse.addListener(this);마우스 이벤트를 연결합니다. 그럼 당연히 onMouseDown 을 구현해야 하고요... 그런데 과거 포스팅에서도 언급한 적이 있는데, 스케일폼에서는 플래시와는 다른 ..
mmorpg 를 만들다 보면 캐릭터 정보창, 인벤토리, 상점 등등등... 수많은 윈도우를 만들게 됩니다.fps에서는 로비가 아닌 인게임에서 나오는 조작 가능한 UI는 많아봤자 10개 정도 될까요??? 아예 없을 수도 있죠...어쨌든 mmorpg는 fps 와는 비교도 할 수 없이 창 UI 가 많죠... 우린 그 많은 윈도우 중에서 어느 윈도우가 마우스와 인터랙션이 일어났는지 알아내야 합니다.해당 윈도우를 가장 상위 z뎁스로 올려야 할 수도 있고, 드래그가 되도록 해야할 수도 있기 때문입니다. 그런데 as2용으로는 MMOKit 이 없다보니, CLIK 중에는 Window 클래스 또한 없습니다. 정확히 말하면 없는게 아니라 숨겨져 있습니다. (as3용으로는 공식 CLIK 으로 승진합니다만...)UDK 기준으로 ..
앞 포스팅과 이어집니다. 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. 그 중에서 외부에 오픈해도 될만한 주제로 선별하여 포스팅 게다가 회사 팀원들에게는 더 개선된 실제 코드를 보여주면서 강의를 하죠... 머랄까, 회사원으로서의 일종의 암묵적인 룰을 지킨다고나 할까요? 포스팅은 사실 빙산의 일각...(아니아니, 일각 보다는 ..
0. 아~ 쿨타임 어려워요 스케일폼 코리아 카페에 들어갔더니, 쿨타임 그리는 것에 대한 질문이 올라왔더군요... 거기에 몇몇 분들의 덧글들이 답변으로 달려있긴 한데... 여기에 대해서 한번 정리해 볼 필요가 있어보여서, 포스팅을 해봅니다... 1. 쿨타임이란? 일반적으로 게임에서 쿨타임이라 하면, 반투명한 사각박스 형태의 그래픽이 시계방향으로 돌면서 없어지는 애니메이션을 말합니다. 물론 애니메이션(혹은 이펙트)에는 수십/수억가지가 존재할 테지만, 그런 것들은 이 포스팅의 목적인 "런타임에 그려보자" 와 무관해지니 논외로 치겠습니다... 뭐, 당연히 삼각함수 알아야 합니다. 그런데 일반적으로 플래시에서 사용하는 cos 과 sin 함수 외에 tan 함수를 써야합니다... 그러니 조금은 각오(?)를 해두시고 ..
가상 키보드를 만들다가 만든건데... 클라이언트가 2.0을 원해서 2.0으로 만들었습니다. 테스트는 좀 더 충분히 해봐야 하지만... 뭐, 그야 각자에 맡기고.... class com.minarto.text.CreateKorean { function CreateKorean() { } /* _last_str : 마지막 글자 _new_str : 합쳐질 글자 */ static function join(_last_str:String, _new_str:String):String { var lastCode:Number = _last_str.charCodeAt(0); // 마지막 글자의 문자코드 var newCode:Number = _new_str.charCodeAt(0); // 합쳐질 글자의 문자코드 if(last..
최근에 flex2.0 에다가 as2.0 으로 만든 차트를 붙여보다가 사용하게된 FlashInterface http://www.flashextensions.com/products/flashinterface.php 뜯어보지는 않았지만 내부적으로는 LocalConnection 을 이용한 것이라 생각된다... 그러니 LocalConnection 의 스펙을 넘는 것은 할 수 없다. 데이터도 결국은 겟 방식을 따르기에 긴(?) 데이터는 처리할 수 없다...하지만 뭐 그렇게 쓸 일보다는 간단히 쓸 일이 많으니...