블로그 이미지
플래시 개발자랍니다... 하지만 여긴 플래시 전문 블로그가 아닌 그냥 개인 블로그랍니다
미나토

Recent Comment

calendar

        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
  • 40,987total
  • 8today
  • 22yesterday
2010/05/06 11:16 Flash Platform

flash player 10 에서 비트맵 데이터는 8192 픽셀을 넘을 수 없습니다...

그런데 어쩌다보면 그 이상의 이미지를 사용해야 하는 경우도 생기지요

그럼 노가다로 일일히 자르는 작업을 하게 되는데, 그러지 않기 위해 만든 코드입니다...




우선 첨부한 클래스와 다음의 링크에서도 코드를 다운 받아주시고요


첨부한 클래스는 제가 작성한 거지만, 위의 구글 코드는 저와 관련이 없습니다... 알케미를 이용한 듯 싶기도 한데... 정확히는 뒤져보질 않아서리...


원리를 설명하자면 제 코드에서 바이너리 형식으로 jpg를 부르고 jpg 디코더로 디코딩을 하여 픽셀값을 가지고 있게 되고 다시 제코드로 넘어와 원하는 영역(Rectangle) BitmapData 를 사용할 수 있게 해놨습니다

각각 영역을 가져와 한 컨테이너에 여러개로 넣어서 원래 이미지 대로 사용하던가, 특정 영역만 불러와서 그대로 사용하셔도 됩니다



이건 2만 픽셀 넘는 이미지를 컨트럴 해야 하는 팀원에게 이런식으로 짜면 된다를 보여주기 위한 교육용 코드입니다. 그렇기 때문에 테스트는 전혀 되있지 않습니다.


혹시라도 안된다고... 아니면 잘 모르겠다 더 자세히 설명해달라고 해봤자 가볍게 무시할 뿐입니다...



대충 사용법은 다음과 같습니다. 몇몇 인수들이 뭘 의미할 지는 코드 보면서 이해해보세요...





var loader:BigJPGLoader = new BigJPGLoader();

loader.addEventListener(Event.COMPLETE, complete);

loader.load(new URLRequest("jpg 경로"));



function complete(e:Event)

{

var bd:BitmapData = loader.getBitmapData(new Rectangle(9000, 9000, 100, 100));

addChild(new Bitmap(bd));

}







p.s. 이미지가 너무크면 파싱순간 버벅거리는건 저로서는 어쩔 수 없습니다요




크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2010/02/01 17:33 Flash Platform


워크샵을 다녀온 요몇일 트위터에서는 아이폰의 국내 출시와 아이패드의 발표로 인해 플래시 업계가 조금 어수선했던 듯 하다...

이런식으로 어도비의 플래시를 MS의 액티브X 와 배다른 형제뻘로 몰아가는 분위기가 될 줄은 몰랐으나 어쨌든 보고 있자니 구글 MS 애플의 기사거리로만 도배할 줄 알았던 트위팅에 뜬금없이 어도비가 낀 것도 재미있는 일이다(그렇게 뜬금없는건 아니지만 말이다)



글쎄... 내 생각은 사람들의 포인트가 뭔가 잘못 꽂혀있다는 것이고 여차저차해서 하늘이(?) 무너지더라도 내가 플래시 개발자에서 은퇴할 때까지는 밥먹고 사는데 별 어려움이 없거나 최소한 다른거 공부할 충분한 시간이 있을거란 거다... :)


게다가 우리에게는 안드로이드도 있지 않은가!!!
우리가 안드로이드가 실린 냉장고나 TV의 UI 를 만들게 되어 일이 더 많아질 지도 모를 일이다... (실제 터치스크린만 달리고 아무 버튼 없는 세탁기가 발표되었다)

쾌속히 빨리 UI를 찍어(?)내는 데에는 예전에도 그랬고 지금도 Flash 를 따라올 자가 없었지 않나... 앞으로도 그럴 것이다...오죽하면 어도비를 기다리지 못하고 게임과 임베드 기기로 vm 들을 직접 만들어 왔겠나...


웹쪽 일이 줄어드는 대신 임베드 업무 과부하가 더욱 걸리게 되어 연봉이 펑펑 뛰게될 지는 아무도 모를 일이다




뭐 각설하고, 이 포스팅은 어도비의 미래에 대해 쓰려는 것이 아니라, 스마트 폰 출시에 따라 변화해야할 플래시 어플리케이션의 개발의 변화에 대해 쓰려고 한다



1. 마우스 오버, 더블클릭를 쓰지 말것

터치 압력이 작을 때를 마우스 오버 상태, 클 때를 클릭 상태라고 판단하도록 구현할 것인가? 작고 크다는건 도대체 수치로 몇에서 몇을 말하는가...
정전식이든 감압식이든간에 사용자의 정확한 의도를 파악하긴 힘들다

일반적으로 많이 쓰이는(정말 많이 쓰인다) 1차 뎁스 메뉴를 오버하면 2차 메뉴가 뿌려지는 형태는 최악의 UI가 될것이다.(대부분 그런 형태의 UI는 고정 크기인지라 스마트 폰에서 어차피 전체 메뉴를 보기도 힘들 것이다)

그리고 일반적으로 터치감이 좋다는 정전식 터치폰은 예외가 될 수 있으나 감압식에서는 더블클릭이란 것도 꽤 힘들다...



2. ContextMenu 를 쓰지 말 것

터치폰이나 터치 타블렛에서 마우스 우측버튼이란 존재하지 않는다. (WM 기반에서는 터치펜을 오래누르고 있으면 우측 메뉴가 나오긴 한다만...)

사용자의 반응을 입력할 수 있는 도구가 없으니 사용하지 말아야 할 것은 당연하다...

뭐, 대부분의 ContextMenu 는 별 필요없는 입력에 사용하는 경우가 많기 때문에 크게 고칠 일은 없을 것 같긴 하다만...



3. 최적화

어도비에서 굉장히 뛰어난 개발자를 꼬셔와 10.1 을 개발했다고 들었다... 하지만 그도 조물주는 아니었기에 CPU든 메모리든 100%의 점유율을 1% 의 점유율로 바꾸어 주진 못한다...

HD 영상은 한자리 점유율로 변했다지만 ATI나 NVIDIA 이 최신 그래픽카드와 최신 드라이버가 있어야만 가능한 일이다...플래시 동영상 하드웨어 가속은 드라이버가 지원이 되어야 하는 것이다

안드로이드는 오픈되어있기에 CPU가 꼭 스냅드래곤이나 ARM만 쓰인다는 보장이 없다... 퀄컴만 드라이버를 만들어준다고 끝날 일도 아니란 것이다

임베드 기기에 그런 고급 칩셋을 써서 석유 부자들에게만 팔 정도로 삼성, LG, 소니가 바보도 아니다



4. 크기1 (사이즈)

아이패드의 해상도는 1024*768 이고, 최강 스펙의 스냅드래곤 기기라는 HD2 의 해상도가 4.3인치의 800*480 이다... 인간이 나비족이 되지 않는 이상 더이상의 큰 크기의 기기는 이미 언스마트 폰일 것이며 그렇다고 도트크기만 줄이자니 소머즈가 되어야 한다...

최악(?)의 해상도일 것 같은 블랙베리는 의외로 아이폰과 같은 480*320 이다(물론 2.6인치이다)

그렇다... 우리는 480*320 ~ 800*480 을 스마트 폰의 영역이라고 보고 그에 맞는 UI를 구현해야 한다



5. 크기2 (용량)

모 통신사는 여전히 최악의 데이터 요금제로서 민심을 흉흉히 만들고 있다... 플래시에서 이미지를 부르고 폰트를 불러서 사용자는 단지 한페이지를 뷰했을 뿐인데 몇십메가의 데이터 요금을 물게 만들 것인가...

물론 무지몽매한 일반 사용자야 원인을 몰라 통신사만을 원망하겠으나.... 상도란 것이 있지 않은가...


크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2010/01/21 10:20 Flash Platform




디자인을 제외한 모두 직접 개발...(AIR 컨테이너만 밑에 녀석 시켜서 만들었습니다)


하얗게 태워버렸어...
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2010/01/07 18:18 Flash Platform



아직 베타라는 것을 잊지 말고 보자...



추가된 클래스만 간추려보았습니다.(추가는 아니더라도 변경된 것들도 있다는 것을 잊지 마시고...)
노가다로 한거라 틀린 부분이 있을지 모릅니다...
패키지가 새로 생긴 곳은 레퍼런스에서 하위 패키지를 클릭해서 보세용~


- flash.accessbility

- flash.desktop

- flash.display

- flash.events


- flash.net

- flash.net.drm : air 전용에서 10.1 도 포함하는 것으로 바뀐 듯

- flash.sampler


- flash.system


- flash.ui




크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2010/01/07 15:41 Flash Platform



1. 인수 앞에 $ 붙이기...
2. 메소드 앞에 this 붙이기

억지로 습관들이려 하니 귀찮고 힘드네...


하지만 세살버릇 여든 간다고 했으니... 여든까지 개발하려면...응???



크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
 <PREV 1 2 3 4 5 ... 18    NEXT>