아이폰 해상도에 맞는 간단한 동영상 플레이어를 만들어 보았습니다. 유튜브등 기존 동영상 서비스를 이용하는 것에 비해 자체 서버 또는 호스팅이 필요하고 트래픽에 대한 부담감이 있지만 아이폰 해상도에 최적화된 선명한 시연 동영상을 보여줄 수 있는 장점이 있습니다. 만약 트래픽이 부담이 될 정도면 그 어플은 흔히 말하는 대박이라고 보아야 겠죠. ^^;


동영상은 320X480의 wmv 포맷을 지원합니다. 저는 iShowU HD란 프로그램으로 시뮬레이터를 캡쳐한 후에 (위 동영상은 가로방향이 조금 틀렸습니다) MPEG Streamclip을 이용하여 wmv로 변환하였습니다. ISPlayer.xap를 다운로드 후에 웹서버에 올려놓고 아래와 같이 HTML 스크립트를 추가하시면 됩니다. 시간나는데로 플렉스 버젼도 올릴려고 합니다.

<object width="340" height="635" data="data:application/x-silverlight-2," type="application/x-silverlight-2" style='z-index:1;'>
<param name="source" value="ISPlayer.xap URL"/>
<param name="initParams" value="movie_url=WMV 동영상 URL"/>
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/></a>
</object>


AND

이전에 만들었던 스모킹 카운터의 소스를 복사해서 간단한 카운팅 어플을 만들어서 앱스토어에 등록했습니다. 어제 저녁에 올렸으니 아직 리뷰중입니다. 판매의 의도 보다는 cocos2d나 한번 써볼려고 만든 어플인데 디자인만 입혀서 올려 보았습니다.

+ 버튼을 눌러 어떤 행동에 대한 카운팅을 하는것이 주목적이고 카운팅 숫자 만큼 돼지가 화면에 나타납니다. 드래그할 수 있고 높은 곳에서 떨어뜨릴 수가 있고 해를 눌러 정렬, 렌덤, 점프등 간단한 명령을 내릴 수 있습니다. 그외에 시간 간격이나 일/월/년별 통계를 볼 수 있고요. 하지만 별 쓸데가 없는 어플이라 저도 안쓸 것 같습니다.

사실은 이것보다 아이폰 어플 소개를 위한 동영상 플레이어를 만들어 보고 싶은데요. 아래와 같이 대부분의 플레이어는 가로로 보여주기 때문에 제대로 보이지 않기 때문에, 어플 고유의 해상도로 아이폰 스킨을 적용한 플레이어를 만들어 볼려고 생각하고 있습니다. 게을러서 늘 마음만 먹고 있었지만 일단 어플을 올렸으니 리뷰까지 7~10일정도내에는 만들겠죠.



저도 공부도 할겸 테스트용으로 만들은 소스지만 UI, cocos2d, sqlite3등 처음하시는 분들에게 도움이 될수도 있을 것 같아 공개하기로 했습니다. 역시나 급조한 소스라 부끄럽긴 하지만 취미로 쉬엄쉬엄 하는 cocoa 프로그래밍에 익숙해져 그나마 덜 부끄럽게 소스를 공개하기는 하세월일 것 같아 그냥 감행했습니다.

별것 아닌 소스지만 아래의 사항은 꼭 지켜주셨으면 좋겠습니다.

  • 이미지 파일과 디자인은 테스트 용도 이외에는 사용하실 수 없습니다.
  • 소스는 어떠한 제약도 없으며 디자인만 변경하여 Action Counter Pro로 올리셔도 상관 없습니다.
  • 소스파일은 퍼가거나 링크를 하실 수는 없습니다.
  • 저도 도움이 되고 다른 분들도 알아야 되니 오류가 있을경우 알려 주시면 감사하겠습니다.
  • 소스에 대한 질문과 설계, 네이밍등 코드에 관한 논평은 받지 않겠습니다. 저도 알고 있으니 그냥 삭제하시기 바랍니다.

아래는 프로젝트를 압축한 파일이며 다운로드 받으셔서 사용하시면 됩니다. cocos2d 링크가 제 환경으로 되어 있으니 이 부분은 각자의 환경에 맞게 수정하셔서 빌드하시면 될 것 같습니다. cocos2d 설정은 제 이전 포스트를 참고하시고요.



'App Store' 카테고리의 다른 글

앱스토어에 대한 소고 - 2  (11) 2009.05.09
사전 어플리케이션  (0) 2009.05.01
스모킹 카운터 1.2 버그  (0) 2009.03.18
Smoking Counter 등록 완료  (64) 2009.03.03
제 계정으로 처음 어플리케이션을 등록했습니다  (28) 2009.02.26
AND

iOS 2009. 4. 13. 10:59
cocos2d-iphone 는 OpenGL ES를 기반으로 하는 게임, 에니메이션, 데모등을 위한 2D 라이브러리입니다. 기본적인 에니메이션부터 메뉴, 스코어 서버까지 지원하기 때문에 빠른 시간에 편리하게 사용할 수 있습니다. cocos2d-iphone 사이트에서 최신 버젼을 다운로드 받으실 수 있습니다.



1. cocos2d 설정
1) 빌드
다운로드를 받으신 후에 압축을 풀고 Xcode Project 파일을 클릭하여 Xcode를 실행합니다. Active Target을 cocos2d로 하고 Actvie SDK를 Device로 빌드 합니다.


Active SDK를 Simulator로 하고 다시 한번 빌드합니다.


cocos2d는 프로젝트 자체에 여러 샘플소스들을 많이 가지고 있습니다. Target을 해당 데모로 변경하여 실행을 확인해 보실 수 있습니다.

2) 라이브러리 복사
해당 폴더의 빌드 폴더를 보시면 2개의폴더에 각각 libcocos2d.a와 libChipmunk.a가 같이 빌드되어 있습니다.


원하시는 곳에 폴더를 만드시고 이 두 폴더의 파일들을 각각 다른 폴더로 가져다 놓습니다. 저는 /Developer/Library 밑에 Cocos2d란 폴더를 만들고 그 밑에 Device와 Simulator 폴더를 만들어 각각의 라이브러리 파일들을 가져다 놓았습니다.

3) 헤더파일 복사
/Developer/Library/Cocos2d 밑에 헤더파일들을 복사하기 위해 Include 폴더를 새로 만듭니다. Include 폴더의 하위로 Support 폴더를 만듭니다. 다시 cocos2d 폴더로 와서 보시면 하위에 똑 같은 이름의 cocos2d란 폴더가 있습니다. 이 폴더내의 *.h을 위에서 생성한 Include 폴더로 복사합니다. 하위의 Support 폴더내의 *.h 파일도 해당 폴더의 Support 폴더내로 복사합니다. (파인더에서 정렬을 종류로 하시면 헤더파일별로 쉽게 가져 올 수 있습니다.)


그리고 cocos2d 폴더의 external/Chipmunk/src에 있는 *.h 파일도 위와 같이 생성한 Include 폴더로 복사합니다. Chipmunk는 게임등에 사용되는 물리엔진으로 컴파일을 위해 헤더파일이 꼭 필요하며 실제 사용하지 않을 경우에는 라이브러리는 추가하지 않으셔도 됩니다.

4) fps_images.png 복사
cocos2d가 초당 프레임수를 출력할 때 사용하는 이미지를 해당 프로젝트의 Resource 폴더에 복사해 놓으셔야 됩니다. 이 이미지가 없을 경우에는 아래와 같은 실행오류가 발생합니다.


cocos2d 폴더의 Resources/Images에 있는 fps_images.png 파일을 적당한 위치에 복사해 놓습니다.



2. Xcode 설정
Xcode에서 New Project를 클릭하여 iPhone OS/Application의 Window-Based Application으로 프로젝트를 생성합니다. 프로젝트명을 cocos2d App로 입력합니다.

1) Search Paths 설정
좌측과 같이 Groups & Files에서 프로젝트를 우클릭한 후에 Get Info를 클릭하여 Project 정보창을 오픈합니다.

두번째 Build에서 Search Paths항목에서 Header와 Library를 각각 해당 폴더로 입력합니다.

아래와 같이 Header Search Paths, Library Search Paths가 입력되어 있는 것을 확인합니다.

2) cocos2d 라이브러리 링크
Linking 항목중 OPther Linker Flags에 -lcocos2d를 입력합니다.


libcocos2d.a를 드래그 해서 직접 추가하여 사용하셔도 됩니다. 하지만 시뮬레이터와 디바이스의 선택에 따라 각각의 라이브러리 파일이 필요하기 때문에 Active SDK가 변경될 경우에는 매번 파일을 변경해 주어야 합니다.

그렇기 때문에 설정에서 Configuration이 Debug일때는 Library Search Paths를 Simulator로 Release일 때는 Device로 설정합니다. 시뮬레이터로 개발시에는 Debug 모드로 개발하고 실제 기기에서 테스트시나 업로드시에는 Release 모드를 선택하면 해당 라이브러리 파일의 변경없이 편하게 사용하실 수 있습니다.

3) 프레임워크 추가
cocos2d가 사용하는 OpenGL ES, QuartzCore 프레임워크를 추가합니다. 좌측과 같이 cocos2d App 타겟에 우클릭하여 Get Info를 클릭합니다.



General 항목의 좌측 하단에 [+] 버튼을 클릭합니다.
아래와 같이 OpenGLES.framework와 QuartzCore.framework를 선택하고 Add를 클릭합니다.


4) fps_images.png 추가
좌측과 같이 이전에 복사해 두었던 fps_images.png를 Resources 항목으로 드래그해서 가져다 놓습니다.



5) 프로젝트 템플릿 추가
cocos2d를 사용할 때마다 매번 위의 설정을 하는 것은 번거로운 작업입니다. 그렇기 때문에 기본설정된 항목을 템플릿에 추가하여 사용하는 것이 편리합니다. cocos2d App 프로젝트 폴더를  /Library/Application Support/Deveoper/Shared/Xcode/Project Templates/ 밑에 Application 폴더를 만드시고 그 아래에 복사합니다.
이제 새 프로젝트를 선택하면 User Templates/Application에 cocos2d App 항목이 나오며 위에서 cocos2d를 위해 설정된 사항대로 편리하게 사용하실 수 있습니다.

cocos2d에 관한 자세한 내용과 자료는 cocos2d-iphone 사이트에서 확인하실 수 있습니다.

'iOS' 카테고리의 다른 글

NSXMLParser로 RSS 읽어오기  (21) 2009.08.05
인터페이스빌더 Table View Cell 사용하기  (0) 2009.06.25
iPhone SDK 3.0 beta 2  (4) 2009.04.05
UITableView의 메모리 누수 현상  (4) 2009.02.05
UIView에서 텍스트 출력  (10) 2009.01.13
AND