일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 집합의 연산
- scaleform4
- 강좌
- 수학정석
- as3
- KGC 2013
- ApplicationDomain
- 샌프란시스코
- MMOKit
- flash cs3
- scaleform3
- 스케일폼
- CLIK
- 형변환
- 클릭
- GDC
- flash
- addChild
- DataBinding
- Document Class
- Chart
- as3.0
- as2
- 애드온
- autodesk
- 플래시
- flash player 10
- scaleform
- watch
- 태그클라우드
- Today
- Total
목록Core (18)
scaleform.minarto.com
성능 테스트를 보겠습니다. 1. 속도 테스트 첫번째 코드는 기존의 CLIK 을 가지고 돌린 코드입니다 import gfx.events.EventDispatcher; EventDispatcher.initialize(this); var o = {} o.f = function($e){ } addEventListener("kkk", o, "f"); var e = {type:"kkk"}; var s:Number = getTimer(); for(var i:Number = 0; i
scaleform 의 as2용 CLIK 은 as3의 이벤트 모델을 가져다 쓰고 있습니다. 정확히는 오토데스크에서 (혹은 CLIK 을 만든 gs스키너 그룹에서) 완전히 직접 만들었다고 보기는 힘듭니다. 이미 flex 1 시절부터 Component 들이 있었고 비슷한 방법으로 구현을 했었거든요. 오히려 제가 봤을 땐, CLIK은 좀 복잡하고 비효율적으로 구현한 편입니다. CLIK 의 EventDispatcher 클래스를 보겠습니다 public static function initialize(target:Object):Void { if (_instance == undefined) { _instance = new EventDispatcher(); } target.dispatchEvent = _instance.d..
5월 13일자 http://scaleform.minarto.com/352 글에서 이어집니다 0. A/S 까지 해주는 친절한 미나토 씨 좀 오래전에 쓴 글이긴 한데요... 몇몇 추가할 거리가 생겨서 몇마디 더 해보려고요... 나름 최고 인기글(?)이었던 지라... ㅎㅎㅎ (전체적으로 별로 인기가 없는 블로그이다보니... 쩝...) 앞선 글을 통해서 "런타임 공유시 상위 형변환을 이용해서 선언하라" 라고 말씀을 드렸습니다. 여기에다가 as를 할 것을 추가해보려고요... 해당 글에서 오류가 있기 때문입니다. 제가 출판할 책을 쓰는 것도 아니고, 글을 쓸 때 일일히 검증하고 테스트 해가며 쓰는 것이 아닌지라... ㅡ.,ㅡ;;; 최근에 드디어 저도 회사에서 as3 작업을 하기 시작했는데요... 그러다 보니 몇가지..
음... 이건 사실 스케디모에 그냥 가볍게 올렸던 글인데 블로그에 조금 수정을 가미해서 옮깁니다 전에 카페 게시판에 이런 질문 글이 올라왔습니다. 원을 회전시키면 지글거리듯이 흔들린다... 라는 얘기였죠.다음의 이미지 처럼 원을 드로잉한 후 돌려보시면 확인하실 수 잇을 겁니다. (올리신 이미지를 퍼왔습니다.... 한나님 용서를 잇힝~~~) 이 질문에는 여러가지 답변들이 달렸답니다... 제가 쓰려는건 답은 아니고요... 이 원인에 대해서 쓰려고 합니다. 일단 플래시의 원은 말이죠... 원이 아닙니다. 정확히는 원에 가까운 베지어 곡선이죠... 예전에 (한 2,000년도 초반???) 플래시에 최초의 벡터 그래픽 드로잉 API가 생기고 난 후 (lineTo, curveTo), 한 플래시 커뮤니티에서 열띤 논의..
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. 플래시 개발자들은 당연히 알아야 할 듯 하지만서도... 사실 웹쪽에서의 플래시 어플리케이션 개발에는 라이브러리를 통한 런타임 공유를 하지 않습니다. 다른 방법들을 쓰거든요... 하지만 스..
플래시는 컴파일이 없는 스크립트 언어입니다.그렇기 때문에 런타임시에 코드 그대로 실행해버립니다... 컴파일 과정의 최적화가 없다는 뜻입니다. 그래서 그 최종 성능은 개발자의 역량에 따라 천차만별로 변할 수 있습니다. 가장 빠른 반복문에 대한 연구는 꽤 많습니다...구글에 "반복문 최적화" 라고만 쳐도 굉장히 많은 양의 내용이 뜰겁니다. 참고로 이 내용은 제가 js 스터디를 하면서 알게된 내용입니다.http://cafe.naver.com/wapp 이 카페를 참고하세요... (홍보 한번!!!!) 1. length 캐쉬 가장 많이 쓰이는 반복문인 for 문부터 보죠... for(var i = 0; i
앞 포스팅과 이어집니다. 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. 그 중에서 외부에 오픈해도 될만한 주제로 선별하여 포스팅 게다가 회사 팀원들에게는 더 개선된 실제 코드를 보여주면서 강의를 하죠... 머랄까, 회사원으로서의 일종의 암묵적인 룰을 지킨다고나 할까요? 포스팅은 사실 빙산의 일각...(아니아니, 일각 보다는 ..