본문 바로가기

Flash

Flash App Performance : Image Sprite Sheet Image Sprite Sheet는 게임이나 웹서비스에서 이미지를 불러올때 여러개로 나눠져 있는 이미지를 불러 오는 것 보다 하나의 이미지를 불러오는게 비교적 좋은 로딩 시간 또는 로딩 되는 파일 크기를 줄일수 있기 때문에 사용하는 방법이다. 많은 서비스에서 이미 CSS Sprite Sheet 를 이용하여 사이트에 포함 되어 있는 이미지를 하나의 이미지를 통해 불러 와서 사용함으로 로딩 타임을 줄이는 이점을 취하고 있다. 이미지를 온라인에서 불러올 경우 요청 횟수를 줄일수 있다. 여러 이미지를 하나의 이미지 파일로 만들기 때문에 이미지 크기를 줄일수 있다. (클수도 있다) 하나의 이미지로 해당 어플리케이션의 스킨을 지정 할 수 있다. (해당 이미지만 교체 하면 스킨이 바뀐다) Flash/Flex(이하 F.. 더보기
Flash Platform에서 OAuth 사용하여 인증 요즘 OAuth 인증 때문에 고생좀 했습니다. 머리속에 있는 개념을 정리도 할겸 제가 사용해본 OAuth 라이브러리에 대해 소개 합니다. OAuth 란? OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 아이디과 비밀번호를 사용하였는데, 이는 보안상 취약한 구조이다. 기본인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다. 예를 들면 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth, 아마존의 웹서비스 API 등이 있다. OAuth는 이렇게 제각각인 인증방식을 표준화한 인증방식이다. OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다. 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능.. 더보기
Facebook actionscript API Adobe 와 Facebook 이 공동으로 작업한 라이브러리이다. Actionscript 로 구현되어 있어서 Facebook에서 제공하는 대부분의 기능들을 API 실행만으로 사용 가능 하다. Project Home : http://code.google.com/p/facebook-actionscript-api/ 어플리케이션 등록 이 라이브러리는 Web, Desktop(AIR), Mobile(AIR) 용으로 각각 구현 되어 있다. 사용할 플랫폼에 따라 해당 swc를 지정해서 사용하면 된다. Facebook 앱을 생성해서 사용하는 절차는 다음과 같다. 1. https://developers.facebook.com/apps 에서 새앱 만들기 클릭 2. App Display Name(사용자에게 보여질 앱이름) 과.. 더보기
[AS3] 외부에서 로드된 객체 복제(재사용) ApplicationDomain 에 대한 개념만 잘 이해 하고 있다면, 이 포스팅은 보지 않으셔도 됩니다. 최근까지 ApplicationDomain 에 대한 개념 자체를 다르게 이해 하고 있어서 어렵다고 생각했던 부분들은 정리 합니다. Flash/Flex 를 사용하면서 가장 많이 사용하는 클래스중 하나는 Loader 일 것 입니다. Loader 클래스는 SWF 나, 이미지 (JPG, PNG 등등) 을 로드 하는데 사용 합니다. 많은 분들이 이미지를 로드 하는데 자주 사용하고 있을거라 생각 합니다. 외부에서 이미지를 로드 하면 로드된 리소스는 Bitmap 으로 처리가 되어 BitmapData 의 clone 메소드를 통해서 해당 이미지를 재사용 할 수 있습니다. 코드는 아래와 같습니다. // 이미지 로드 p.. 더보기
[AS3] Flash 로 오디오 플레이어 만들기 Flash Player 는 다양한 멀티미디어를 불러오고 재생 할 수 있다. 그 중에서 오디오 관련 파일은 기본적으로 MP3 파일을 재생 할 수 있으며, popforge (http://code.google.com/p/popforge/) 와 같은 라이브러리를 사용하면 WAVE 파일도 재생 가능 하다. 하지만 이 문서에서는 Actionscript3 에서 제공하고 있는 기본 API 를 가지고 파일을 불러오고 재생 하기 위한 기본적인 이론에 대해 다룬다. Flash 에서 오디오 파일을 재생 하기 위해서는 Sound, SoundChannel 를 사용한다. 디테일한 플레이어를 구현하기 위해서는 다른 클래스도 알아야 하지만 기본 기능만 만든다면 위 두가지 클래스의 레퍼런스만 봐도 충분히 구현 할 수 있다. Sound .. 더보기
[AIR] AIR for Android Adobe 에서는 Openscreen project의 일환으로 Android OS 에서 돌아가는 Adobe AIR Runtime for Android 를 개발중에 있다. AIR for Android 는 Adobe AIR 를 설치한 Android OS 기반 디바이스에서 설치형 어플리케이션을 운영할 수 있게 해주는 기술(런타임) 이다. 왜 Adobe AIR 인가? Adobe AIR 란? Adobe AIR는 운영체제에 상관 없이 데스크톱에서 RIA(Rich Internet Aapplications)를 개발 및 배포할 수 있는 런타임입니다. 여러분은 전통적인 데스크톱 개발 기술을 배우지 않고도 기존에 사용하던 웹 기술(HTML, Javascript, Adobe Flash®, Adobe Flex™, Ajax)로 .. 더보기
[Mobile] Flash Platform for Mobile 몇일전 Apple 이 아이폰 앱 개발 정책 약관을 변경에 따라 다시 Flash CS5 를 이용하여 아이폰 앱 개발이 가능해 졌다. 정책이 바뀌기전 심사 중이었던 플래시로 만든 앱들도 심사 완료 상태가 되었다. 이 문서에서는 두가지, Flash CS5 의 Package for iPhone 으로 개발하는 아이폰앱과 Adobe 에서 2011년 상반기 런칭을 목표로해서 개발하고 있는 Android for AIR 에 대한 소개 및 가능성에 대해 다룰 것이다. 먼저 Package for iPhone 이다. Flash Pro CS5를 이용해 만든 결과물이 아이폰 설치 파일인 .ipa 로 나온다. 개발자는 맥에서 xcode 와 object-c를 이용하여 개발한 .ipa 를 테스트하는 방법과 동일하게 자신의 아이폰에 설.. 더보기
Flash/Flex AS3 - Flash 에서의 객체 : DisplayObject 와 DisplayObjectContainer Part 5 지금까지 Flash 에서의 Timeline 에 대해 알아보았습니다. Timeline 에 대한 개념이 정리가 되셨는지요? 보통 사람들은 아래 그림 A와 같이 흰 도화지 안에 Timeline이 존재 하는 줄 알고 있습니다. 하지만 실제로는 반대입니다. 그림 A 그림 B 그림 B와 같이 Timeline 안에 희 도화지가 속해 있는 형식으로 구성되어 있습니다. Timeline의 한 프레임 당 하나의 흰 도화지를 가지고 있고, 코드를 입력 할 수 있는 공간을 가지고 있습니다. 그림 A와 B는 단순히 Timeline 이 흰 도화지 보다 크다 (Timeline > 흰 도화지) 라는 의미를 뜻하지만, Flash의 구조 안쪽으로 들어가면 Flash에서의 객체라는 것의 뿌리가 되는 개념입니다. 왜냐 하면 모든 객체들은 이.. 더보기
Flash 와 HTML5 비디오 퍼포먼스 비교 요즘 Steve Job 의 발언으로 시작된 Flash 와 HTML5 에 한 이슈로 웹이 뜨겁게 달아 오르고 있는데요. Mac 환경과 Window 에서 각 브라우져 별로 비교한 자료가 있어서 소개 합니다. 테스트 환경 During testing, I followed this procedure: - Turned off as many background processes as possible - Updated my graphics card drivers - Used the same YouTube video for all tests (http://www.youtube.com/watch?v=VJ5KJVCc5C4) - First, I loaded the page - Then switched the video to .. 더보기
Flash/Flex AS3 - Timeline 코딩과 Flash 객체의 의미 Part.4 지금 까지 Flash프로그래밍에서의 타임 라인의 역할과 함께 Timline이 움직이는 흐름에 대해 이야기 해 보았습니다. 이제 타임라인이 어떻게 동작하는지에 대한 기초적인 개념을 파악 하셨을 것입니다. 지금 까지 다룬 내용은 Timeline의 프레임 순서에 따른 실행 순서 였습니다. 프레임 1에 있는 코드는 프레임 2에 있는 코드 보다 먼저 실행이 되고, 여러 메소드를 이용하여 재생헤드의 위치를 조작하므로 실행 순서를 조작 할 수 있었습니다. 그렇다면 같은 레이어에 존재 하지 않는 다른 레이어에 존재하는 코드의 경우에는 어떤 순서로 실행되게 될까요? 가장 상위에 있는 레이어에 있는 코드부터 실행되게 됩니다. 아무것도 아닌 것 같이 보여도 이 개념에 대해 알지 못하고 툴 작업을 하는 분들이 많이 있습니다... 더보기
스티브 잡스 발언에 대한 Adobe의 반응 Adobe CTO 인 Kevin Lynch 가 Adobe blog 에 쓴 내용 입니다. Flash 최근의 화두가 되고 있는 스티브잡스의 발언에 대해 웹은 디바이스에 상관없이 컨텐츠와 애플리케이션을 일관되게 액세스할 수 있는 개방된 환경으로 존재해야 하는데, Apple 은 이를 막고 있다고 언급하고 있네요. (출처 : http://durl.me/atqt ) 어찌 되었건, Adobe 나 Apple 그리고 앞으로의 웹 생태계가 어떻게 바뀌게 될지 기대가 됩니다 컨텐츠 및 애플리케이션에 대한 오픈 액세스 작성자 : Kevin Lynch, CTO 원문보기 :http://blogs.adobe.com/conversations/  최근 출시되고 있는 우수한 디바이스에 Flash Player가 탑재되어 있지 않다는 사.. 더보기
Can Flash be saved? (플래시가 살아남을수 있을까) 원문 : Can Flash be saved? : http://scobleizer.com/2010/01/30/can-flash-be-saved/ 번역 : 플래시(Flash) 가 살아날수 있을까? : http://www.cyworld.com/chobs01kr/3252650 Apple 이 iPad 를 발표를 하고 나서 무수히 많은 iPad 관련 포스팅과 이번에도 역시 탑재가 안된 Flash 에 대한 포스팅이 올라오고 있는데요. 그닥 이해 하진 못하겠지만 나름 현실적으로 써놨다 생각 되길래 올려 봅니다. 내용을 간단히 요약해 보면 HTML 5 가 나오고 Google 등과 같은 메이져 회사에서 이를 전폭적으로 지지하고 있고, 유투브도 HTML 5를 이용한 동영상 플레이어를 제공해 주고 있지요. Flash 도 어쩔.. 더보기
Flash/Flex AS3 - Timeline 의 제어 Part.3 Timeline 제어 Flash의 Timeline이 그냥 시간에 따라 진행 되는 것만은 아닙니다. AS를 통해서 이를 제어하고 코드가 발생하는 순서를 정할 수 있습니다. 기본적으로 Timeline을 제어 하는데 사용하는 액션은 다음과 같습니다. - stop() : Timeline에 있는 재생헤드를 정지합니다. - play() : Timeline에 있는 재생헤드를 움직입니다. - gotoAndPlay(frame, scene =null) : 해당 Scene 에 존재하는 frame으로 이동한 후 재생헤드를 움직입니다. - gotoAndStop(frame, scene =null) : 해당 Scene 에 존재하는 frame으로 이동한 후 정지 합니다. (정지상태) gotoAndPlay와 gotoAndStop의 파.. 더보기
Flash/Flex AS3 - Flash Timeline 과 실행 순서 Part.2 TimeLine  시작부터 Timeline의 중요성에 대해 강조를 했습니다. 그 이유는 메인에 존재 하는 Timeline 이 실제로 MainTimeline 이라는 Flash 객체이기 때문입니다. 많은 사람들이 Timeline은 그냥 Flash툴에 속해 있는 도구로만 인식하는 경우가 많이 있습니다. 하지만 Timeline은 단지 도구로서의 의미보다 더 중요한 위치를 차지하고 있습니다. 왜냐 하면 Flash에서 생성되고 삭제되는 모든 객체들은 이 MainTimeline 위에 생성되고 삭제되기 때문 입니다. 모든 객체를 담는 그릇과 같은 역할을 하는 것입니다. 즉, 최상위에 있는 부모역할을 담당하고 있습니다. Actionscript 에서도 MainTimeline은 중요한 역할을 합니다. 최상위의 부모 역할 .. 더보기
Flash/Flex AS3 - Flash 프로그래밍이란? Part.1 예전부터 간간히 써오던 문서를 블로그에 올리기 시작하였습니다. 문서의 내용이 Flash 프로그래밍의 기초를 다루고 있고 제가 예전에 썼던 "동강의 AS3.0 강좌" 의 내용을 자세히 풀어 썼다고 보시면 될것 같습니다. 처음 Flash 공부를 시작 하시는 분들에게 도움이 되었으면 하네요. 문서 내용에 대한 질문은 댓글로 달아 주세요. Flash 프로그래밍이란 ? 새롭게 Flash 를 배우려고 하시는 분들은 Flash 버젼은 뭐가 있고 언어는 뭘로 시작해야 하는지 막막 하실 겁니다. 우선은 Actionscript3.0 학습법을 읽고 본 문서를 보는 것을 추천 드립니다. 그러면 자연스레 AS3.0 과 Flash CS3 이상의 Flash IDE로 공부를 해야 겠다는 마음을 먹으실 겁니다. 본 문서는 Flash .. 더보기
[AS3] TextField 에 한정된 라인에만 글짜 넣기 외부 데이터를 불러 와서 TextField 에 넣어 줄때, 외부 데이터 문자 길이를 UI 에 맞게 잘러서 나타내는 경우가 있습니다. 기본적으로 String 클래스에서 제공하는 substr 등을 이용하여 문자열을 보기 좋게 자르는데요. 여기서 소개 하는 방법은 substr 과 TextField 의 getLineOffset를 이용하여 한정된 라인에만 글짜를 출력 하는 방법 입니다. var field:TextField = new TextField(); field.width = 250; field.wordWrap = true; field.text = "안녕하세요.이것은 테스트 입니다.안녕하세요.이것은 테스트 입니다.안녕하세요.이것은 테스트 입니다."; addChild(field); 위의 코드를 출력하면 아래와 .. 더보기
Flex for Mobile Devices 얼마 전에 MAX 2009 에서 Flex for Mobile Devices 라는 주제로 발표한 내용 입니다. 점점 Adobe Flash platform 의 모든 디바이스에 대한 지원이 가능해 지고 있는데요. PC 에서도 비교적 무겁다는 인식이 강한 Flex framework 가 과연 더 환경이 안좋은 Mobile 에서 어떤 퍼포먼스를 낼수 있게 될지 기대가 되네요. 더보기
액션스크립트로 개발하기 - 1 일주일 내내 정신 없는 한주가 이제 끝났네요. 쉬지도 못했는데 내일이면 출근이라니, 퀭한 눈으로 내일 아침을 시작 할 것 같습니다. 두번째 오픈 캐스트를 발행하였습니다. 주제는 액션스크립트를 처음 배우는 입문자들이 보면 좋을것 같은 문서들로 모아 보았고요. 모으다 보니, 제 블로그 글이 대부분을 차지 하게 되었네요.ㅋㅋ 이 주제로 3번 정도 발행할 예정이니 시작 하시는 분들에게 도움이 될듯 합니다. 캐스트 주소는 아래와 같습니다. http://opencast.naver.com/DO718/2 더보기
Actionscript3.0의 DisplayList 목차 DiplayList 란? - DisplayList의 3가지 요소 - DisplayList의 구조 - DisplayList 구조의 장점 - Index 개념 - Shape, Sprite, MovieClip - DisplayList의 부모 자식 노드 관계 탐색이 간편해짐 DisplayObject 클래스 - DisplayObject를 상속받는 클래스 - 속성 메소드 및 이벤트 - root , parent, stage 에 접근하기 - Loader 를 사용해 불러온 외부 swf 의 root 와 stage DisplayObjectContainer 클래스 - DisplayObjectContainer 의 상속 - 속성 및 메소드 DisplayList 란? DisplayList 란 SWF안에 존재 하는 객체들 중에 .. 더보기
Flash / Flex 로 만든건 느리다? 이런 말을 많이 듣습니다. Flash로 만들면 느리지 않아요? Flash 로 만드면 유지 보수가 힘들지 않아요? Flash 로 만들면 오래 걸리지 않아요?? 예전에는 Flash를 맹신하여 위의 말들에 "욱" 했었지만, 지금은 반반 입니다. 하지만 확실한건 Flash 로 만든 컨텐츠는 느리지 않다 입니다. 그러면 왜 느린가?? 왜 느리다고 생각하는 건가요? 느리게 만들기 때문에 느린 것이다. 느리게 만들게 의도 하기 때문에 느린 것이다. 저는 이 두가지 이유 때문이라 생각 합니다. 첫번째 이유는 생각 없이 심볼 생성하고, 퍼포먼스 고려 없이 트윈 남발하고 어느덧 라이브러리에는 쓸데 없는 심볼이 쌓여서 SWF 자체로 무거워 지고, 여러 가지 Flash player 과부화 요소를 생각하지 않고 빨리 빨리 작업.. 더보기