프로젝트를 진행하다보면 많은 심볼을 만들어서 사용하는데

CS4, CS5 에서는 라이브러리 아이템을 여러개 선택해서 속성을 바꿀 수 있는 기능이 있습니다.

한번 살펴보겠습니다.



여러 무비 클립을 잡고



Base class를 한번에 지정할 수 있습니다.



단, 무조건 다 똑같이 설정된다는 것이죠.

만약 패키지명만 바꾼다던가 숫자는 유지한 채 이름만 바꾼다거나 하는 일들은 불가능하죠.

게다가 CS3에서는 사용할 수 없습니다.

이번에 올리는 JSFL은

Class명과 Base class를 유연하게 Find & Replace할 수 있는 유틸입니다.

CS3 이상에서는 모두 사용할 수 있습니다.

게다가 무려 Regular Expression(정규표현식)을 지원합니다.

자 한번 예를 들어볼까요?



이런 클래스들이 쭈루룩 있습니다.

DigitType 이라는 이름을 바꾸고 싶네요...

ㄱㄱ



Class Name 을 바꾸는 커맨드를 실행합니다.



정규표현식으로 "DigitType"으로 시작하고 그 뒤에 오는 문자"."들 모두"*"를 괄호로 그룹핑 해줍니다.



CounterType으로 시작하고 앞에서 그룹핑해놓은 부분을 가져다가 대입합니다. (첫번째 괄호에서 찾은것이 1번 그 뒤로 2, 3, 4 번입니다.)



쨔잔~



위와 마찬가지로 Base class도 적용됩니다.

다만 Base class는 라이브러리창에서는 보이지 않으니까 확인이 필요하죠.

정규표현식을 사용하므로 조심히 다뤄야합니다.

하지만 Undo가 가능하니까

연습해보시면서 손에 익히시길 바랍니다.


JSFL 다운 받기 : [JSFL] Find & Replace.zip


:)



한글로 메세지를 보여줄 때 동적으로 메세지를 붙이죠.

이럴 때 "우야꼬"라는 메세지가 들어오면 "우야꼬는" 으로 해줘야하고

"김깐죽"이라는 메세지가 들어오면 "김깐죽은"으로 해줘야되는 "은, 는" 문제가 있습니다.

이럴 때 사용할 수 있는 유틸입니다.

사용법은 다음과 같습니다.

var result: String = MessageUtil.replace( 원문, 치환약어, 치환할 문자 );


import kr.as3.utils.MessageUtil;

const
HELLO_MESSAGE: String = "안녕, 난 $NAME|이라고,라고|해^^ \n날 $USER|으로,로| 불러주렴~";

var converted: String = HELLO_MESSAGE;
converted = MessageUtil.replace( converted, "$NAME", "박종희" );
converted = MessageUtil.replace( converted, "$USER", "김소심" );

// 안녕, 난 박종희라고해^^
// 날 김소심으로 불러주렴~


이름과 닉네임을 바꿔서 대입해보면

import kr.as3.utils.MessageUtil;

const
HELLO_MESSAGE: String = "안녕, 난 $NAME|이라고,라고|해^^ \n날 $USER|으로,로| 불러주렴~";

var converted: String = HELLO_MESSAGE;
converted = MessageUtil.replace( converted, "$NAME", "신진숙" );
converted = MessageUtil.replace( converted, "$USER", "파퓨표" );

// 안녕, 난 신진숙이라고해^^
// 날 파퓨표 불러주렴~

위처럼 단어에 알맞은 조사를 판단해서 붙여줍니다.

메세지 작성 방식은 이렇습니다.

메세지 중간에 치환할 텍스트 별명(alias)를 지정해주고

단어에 따라서 조사가 바뀌어야할 부분이 있다면 "|"로 시작해서 콤마(,)로 구분해서 "|"로 닫아줍니다.

즉 단순히 단어만 치환하고자 할 때는

"안녕 내 이름은 $NAME." -> 안녕 내 이름은 박종희.

조사가 붙어야하는 경우라면

"안녕, 난 $NAME|이라고,라고|해." -> 안녕, 난 우야꼬라고해.  or 안녕, 난 김소심이라고해.

라고 작성해주면 됩니다.



자 이제부터 사용자 친화적인 메세지를 전달해봅시다~!!


소스 다운 ㄱㄱ싱







편하죠?
안녕하세요 우야꼬입니다.

개인적으로 SK 스마트폰 프로토타입 프로젝트와 iShareCopy를 만들어서 앱스토어에 등록했고

SundayToz의 애니팡을 앱스토어에 등록하게 되었습니다.

그리고 차기 게임을 현재 진행하고 있습니다.

이 모든 앱들이 Flash로 만들어져서 많은 분들이 궁금해하시는 부분들이 많은 것으로 알고 있습니다.

그래서 시작하시려는 분들에게 도움이 될만한 것들을 이야기해드리고자 합니다.

API나 Flash 제품에 대해서는 베타테스터로써 공개할 수 없기 때문에

기술적인 관점이 아닌 개발 전반적인 이야기를 하고자 합니다.

제가 받았던 질문들 중에 몇가지를 추려서 대답하는 형식으로 이야기를 풀어보겠습니다.



1. Flash CS5로 앱스토어 등록이 가능한가?

먼저 Flash CS5로 앱스토어 앱을 어떻게 개발하는지 간단하게 말씀드리면

개발 자체는 AIR 개발과 동일합니다.

기존의 Flash개발과 거의 흡사합니다.

그래서 결과물은 SWF로 나오는데

여기서 애플 개발자 인증서를 가지고 *.swf 파일을 *.ipa 파일로 변환해주는 과정이 추가되었을 뿐입니다.

기존의 개발방법은 거의 그대로 사용할 수 있습니다.

그렇기 때문에 플래시 개발자라면 누구나 앱스토어 앱을 개발할 "수"는 있습니다.



2. 애플 개발자 등록은 꼭 필요합니까?

네. 필요합니다.

*.ipa 파일에는 기본적으로 개발자의 정보와 애플리케이션의 정보를 포함하고 있어야하는데

그 두개가 바로 개발자 인증서와 애플리케이션 인증서입니다.

이 두 인증서는 애플 개발자 센터에서 개발자 등록을 하셔야 발급받을 수 있습니다.


3. 앱을 개발하는데 어떻게 시작해야할까요?

저도 그랬지만 많은 플래시 개발자분들은

정말 "플래시"밖에 모릅니다.

그래서 세간에는 무시를 당하는 해프닝도 많이 벌어지는데

애플 앱스토어는 정말 거대한 에코시스템입니다.

그렇기 때문에 보안이나 등록 절차나 처음 경험하시는 분이라면

정말 어렵게 느껴질 것입니다.

(저도 중간에 몇번이나 때려칠려고 했으니까요... -_ㅜ)

맨땅에서 시작해서 앱스토어에 등록하기까지 예상할 수 있는 장벽들이 몇가지 있습니다.

1) 첫 번째로는 애플 개발자 등록입니다.

워낙 생소한데다가 시일이 걸리기 때문에 이 과정에서 플래시 켜보기도전에 좌절할 수 있습니다.

무엇보다... 돈이 들죠... 후훗...

2) 두 번째는 인증서 발급입니다.

영어죠. 죄다...

인증서의 종류도 화려한데다가 컴퓨터 인증은 뭐며 기껏 인증했더니 확장자가 다르고...

어떻게 p12 파일을 뽑았더니 프로비져닝은 뭐며... 어찌저찌 받아서 드디어 돌려볼라하는데 인증서가 잘못됐다며 오류만 나고...

기나긴 강을 건너서 *.ipa를 뽑았더니 이번엔 아이폰으로 동기화가 안되고... 휴....

그렇습니다... 제가 겪었던 과정 그대로입니다... T-T

인증서의 벽... 가장 높았던 헬... 입니다. (아이폰 앱 개발한다면 전 이렇게 말합니다. "Welcome to the hell" )

3) 세 번째는 퍼포먼스 입니다.

아마 처음에 테스트 파일들은 잘 돌아갈겁니다.

그래서 본격적으로 프로젝트를 만들어 봤더니 아니 이게 왠걸... 완전 뚝뚝 끊기는 처참한 광경을 보시게 될 겁니다.

(솔직히 아예 돌아가지도 않는 경우도 많았습니다. 뭐 돌아가야 끊기던 말던 하죠.)

아이폰은 현재 경쟁 스마트폰에 비해서 성능이 떨어집니다.

게다가 ActionScript를 Object-C로 컨버팅하는 과정에서 퍼포먼스는 더 떨어지게 됩니다.

설상가상으로 메모리 관리도 못하죠. (정확하게는 포인터 사용)

이 퍼포먼스에 대한 노하우가 정말 관건입니다.

4) 네 번째는 앱스토어 등록입니다.

사실 앱스토어 등록을 할 때 쯤이면 이미 앱스토어에 많이 익숙해져있는 상태일 것이기 때문에

크게 어렵진 않으나 등록 절차 자체가 작업량이 적지 않고 신경써야 되는 부분이 많아서

쉽지 않은 과정입니다.

5) 다섯 번째는 유지 보수 과정입니다.

배포하고 끝이 아니라 장기적으로 애플리케이션을 운영하려면 많은 운영 노하우가 필요합니다.

저희 선데이토즈도 지금 그부분에서 노하우를 쌓는 과정이기 때문에 재밌기도 하고 기대가 되기도 합니다.

-

여기까지가 한 애플리케이션을 개발하기 위한 전체 라이프 사이클입니다.

문제만 이야기하고 답이 없어서 아쉬운 분들은 4월말 커뮤니티 컨퍼런스에 오셔서 직접 들으시기 바랍니다. (힛)



4. 사람들이 많이 다운 받나요?

비밀입니다. -_-ㅋ



5. 플래시로 개발할 수 있으면 Object-C는 안해도 되겠네요?

아니요. 그렇지 않습니다.

스케이트 보드의 천재인 로드니 뮬런은 물리학 박사이기도 하지요.

자기가 하려는 학문의 기초 분야를 알고 모르고는

개발자의 개발 수준과 퀄리티에 결정적인 역할을 합니다.

저도 Flash만 했다면 모르고 넘어갔을만한 기능들을 xCode에서 봐서 혹시나 하고 뒤져봐서 알게 된 것들이 꽤나 많습니다.

xCode를 직접 개발할 수 있는 능력까지 된다면 바랄게 없겠지만

Object-C나 C++의 이해가 있다면 다른 개발자들과 분명히 차별화 될 수 있을 것입니다.



더 궁금한 것들이 많으실테지만

내일 열리는 플래시 캠프에서 마이크횽아한테 더 얻으실 수 있으실 것 같고

4월 말에 열리는 액션스크립트 카페에서 주최하는 커뮤니티 컨퍼런스에서 더욱 명쾌한 답을 드릴 수 있도록 하겠습니다.

본의 아니게 홍보성 글이 되버렸는데

아이폰 앱스토어를 개발하시는 분들에게 어느정도 갈증이 해소되었기를 바랍니다^^




+ Recent posts