일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- flash cs3
- autodesk
- 태그클라우드
- scaleform4
- as3.0
- flash
- 샌프란시스코
- watch
- 스케일폼
- CLIK
- 형변환
- DataBinding
- KGC 2013
- 수학정석
- 애드온
- Document Class
- as3
- as2
- flash player 10
- 집합의 연산
- ApplicationDomain
- MMOKit
- 플래시
- 강좌
- scaleform
- addChild
- GDC
- 클릭
- scaleform3
- Chart
- Today
- Total
목록scaleform4 (9)
scaleform.minarto.com
글 쓰기에 앞서 전 이전까지 단 한번도 FDT를 사용해본 적이 없었음을 밝히면서... FDT 버전이 5로 올라가면서 가장 큰 변화는 라이센스입니다. 무려 Free 버전이 생겨나버렸습니다. 이제는 무료라는 매력때문에 사용했던 FlashDevelop 의 강력한 경쟁자가 생겨난 셈입니다...(꼭 무료때문만은 아니죠... 가벼움때문이라던가... 코드서포트라던가...) 앞서 말했지만 FDT를 사용해본 적이 없어서 현재로서는 플래시 빌더 쓰던 것처럼 쓰고 있을 뿐입니다. 똑같은 이클립스 기반이니까요... 제가 FDT5 를 계속 사용하게 될지는 모르겠습니다... 전 익숙함 때문인지 플래시 빌더가 더 좋아요~ 사용해보면서 느낀 것이 있다면 Warning 기능이 강력하다는 것인데요...(다른 주요 기능들은 Free 버전..
http://www.udk.com/news-beta-nov2011.html 11월 30일, 드디어 기다리고 기다리던 udk + scaleform4.x 통합이 이루어졌습니다... 사실 이 버전은 스케일폼으로서는 중요한 의미를 갖습니다...(저만 그렇게 생각할지도...) 플래시 개발자가 보기에 스케일폼은 굉장히 폐쇄적인 접근성을 가지고 있습니다... 플레이어 데모를 하나 다운 받기 위해서는 회원가입을 해야하고, 심사를 받고 해야만 한달짜리 쉐어버전(?)을 받아볼 수 있습니다. 웹이 아닌 겜 개발에 쓰인다는 이유때문에 실무 소스를 구하기도 쉽지 않죠,.,..소스가 곧 게임의 보안이니까요...(전 사실 ui 소스는 공개되도 된다고 생각합니다. ui의 소스만으로는 어떻게 돌아가는지 절대 알 수 없거든요...) (..
앞서 말한대로 실제 코드를 공개할 순 없지만 as2 와 as3, 그리고 scaleform을 어느정도 맛본 개발자 분은 5챕터 걸친 설명 내용만 잘 이해해도 큰 어려움 없이 사용할 수 있을 것이라 생각하며 여섯번 만에 끝난 Lite 한 이번 시리즈(?)를 마무리 한다... 사실 스케일폼에서 이런 프레임웍도 프레임웍이지만(끝내놓고 나니, 너무 짧아 프레임웍이라고 하기도 좀... 실제 회사에서 사용하려 만든 녀석은 게임과 관련해 좀더 스케일이 있다.) 구조를 잡는 것이 제일 중요한 듯 하다... 수년간 한게임을 만들다보면 수십번의 엎음(?)을 유연히 해나갈 수 있도록 유연하고, 결합도가 낮은 결과물을 만들어내야 하기 때문이다. 실제로 pure mvc의 도입을 고민하기도 했었으나 지금은 일정에 쫒겨 프레임코딩 ..
보통 as3에서 keboardevent 를 받기 위해서는 보통 다음과 같이 한다 stage.addEventListener(KeboardEvent.Key_Down, onKeyDown); function onKeyDown($e:KeboardEvent):void { } 지난 시간 MouseEvent 를 구현하기 위해 CStage 를 구현했기에, 해당 클래스에 as2 의 Key class 리스너를 추가해준다면 동일하게 사용할 수 있다. var stage:CStage = CStage.getInstance(); stage.addEventListener(KeboardEvent.Key_Down, this, "hnKeyDown"); function hnKeyDown($e:KeboardEvent):void { } 뭐, 이..
stage 의 Mouse 핸들러를 통해 currentTarget 를 알아냈다면, 이벤트 발생은 간단하다 var current Target:UIComponent; currentTarget.dispatchEvent(new MouseEvent(MouseEvent.CLICK, this, currentTarget)); (실제 dispatchEvent 는 private 이기 때문에, 래핑해서 다른 메소드로 dispatchEvent 를 해주는 것이 낫다) 이렇게 하면 gfx.controls.Button 을 상속받지 않고도 똑같이 "click" 이벤트를 발생시킬 수 있다.... 물론 이벤트 객체를 만들어야 하는 비용이 소모되지만 UI특성상 계속해서 인터랙션이 일어난다는 걸 생각해본다면 딱 한개만 미리 만들어놓고 계속해..
as2 와 as3간의 차이에서 헷갈릴 수 있는 하나가 또 있는데 MouseEvent 이다... as2 와 as3 MouseEvent 의 차이는 다음과 같다. as3.DOWN == as2.PRESS as3.UP == as2.RELEASE as3.CLICK == as2.(PRESS + RELEASE) as3.stage.DOWN == as2.DOWN as3.stage.UP == as2.UP 꽤 많은 차이가 남을 알 수 있을 것이다... rollOver 와 rollOut 빼고는 다 차이난다고 보면 된다. 게다가 scaleform 에서 지원하는 다중컨트럴/마우스 지원, 다중마우스 버튼 등을 지원하기 위한 차이 또한 있다. clik 프레임웍에서는 as3 의 click 과 doubliclick 타입만을 추가로 지원해..
EventDispatcher 를 사용한(상속은 아니다... 오히려 위임에 가깝다고나 할까?) 무비클립을 상속받은 UIComponent 가 있고 그걸 상속 받은 Button class 들이 있다... 대부분 이녀석을 이용해 인터랙션을 처리한다... var a:Number = 1; var btn :Button; a라는 숫자값이 있고 btn 이란 버튼이 있다고 치자... 버튼을 클릭했을 때 a를 출력하는 핸들러를 작성하고자 한다면... as2의 버튼이라면 보통 다음과 같이 짠다 btn.onRelease = function():Void { trace(this._parent.a) } ///////////// 1 as2 개발력(?)이 있는 친구들은 scope 문제 해결땜시 Delegate class 를 이용해 이렇..
CLIK 컴포넌트라고 해서 처음엔, 버튼 컴포넌트를 만들어놓고 그렇게 부르나 했다... (실제 버튼위주의 컴포넌트가 많이 있다) CLIK 은 Common Lightweight Interface Kit 의 약자로 gs스키너에서 만든 프레임웍의 명칭일 뿐이다... 아무래도 UI 미들웨어다 보니 디자인 작업이 많아 컴포넌트를 제공하여, GUI단에서 작업하기 쉽도록 해놓은 것이다... 그러다 보면 쓸데 없는 기능도 많이 들어있기 마련이지만 gs 그룹의 이름이 허명이 아니듯 꽤나 잘 만들어놓았다... 예전 mx시절에 어도비에서 제공해주던 무겁기만 한 컴포넌트를 생각하지는 않아도 된다... (사실 이런 생각이 만연해 있다보니 나같은 경우는 컴포넌트를 좀 살펴보기만 했지, 만들어 작업해본 적이 없다) 실질적으로 중요..
scaleform4는 아직 실무에 적용하기는 요원한 편이다. scaleform3과 4의 차이는 as2에서 as3로 언어가 바뀌게 되는데... 아무리 as2와 as3 가 몇몇 클래스가 비슷하다 하지만... 말 그대로 언어가 바뀌는 것이 쉬울 리가 없다. 현업 scaleform에서 종사하고 있는 실무자들이 모두 as2, as3 를 다 잘 할거란 생각도 무리고... 수년에 걸쳐 개발하게 되는 게임 개발의 특성상 중간에 언어를 바꾼다는 것도 어불성설이다... 게다가 scaleform 의 큰 장점이자 단점이 c++ 에서 직접 as 코드를 건드릴 수 있다는 것이다... 그러다 보니 api는 최대한 유지하며 언어를 바꿨다 한들 게임이 안돌아가게 되는 상황이 일어날 확률이 거의 100% 다... 하지만 scalefor..