본문 바로가기
프로그래밍/iOS

프로젝트에 자신의 커스텀 프로젝트를 추가하자(예제 cocos2d)

by 백룡화검 2012. 6. 22.

자신이 만든 커스텀 프로젝트를 넣어둔 강의를 보신적 있을 겁니다...


그런걸 추가하는 방법을 남겨 볼까 합니다....

일단 기본적으로 추가할수 있는 폴더가 4군데가 있습니다.(첨부된 파일의 경로를 봐주세요)

1.뉴 프로젝트의 기본프로젝트 경로.png 에 넣으면 나오는곳




2.뉴 프로젝트의 유저템플릿의 경로.png 에 넣으면 나오는곳



3.뉴 파일의 기본프로젝트 경로.png 에 넣으면 나오는곳




요런곳에다가 추가 할수 있습니다....

자 본격적으로 시작해 볼게요...

기본적으로 2가지만 예를 들어서 해보겠습니다 요거 응용하시면 다른것들도 추가 하실수 있습니다.

첫번째로

게임 만들때 많이 쓰이는 cocos2d입니다. 

저는 기본적으로 게임신 메뉴신 요렇게 몇개 만들어진걸 기본적으로 추가해 두고 쓰는중입니다.. ^^*
(밑의 프로젝트 추가용 cocos2d Ready Application을 개조? 하셔도 무방합니다 )

이걸 추가해 보겠습니다.(원래 Ruby처럼 첨부된 경로 이미지중 유저템플릿에 넣는게 맞는데요 요즘 하도 많이쓰다보니 ㅎㅎ )

구글소스에 가셔서 프로젝트 추가용 cocos2d Ready Application을 받습니다.
(올려드리고 싶은데 이거 저작권을 제가 잘 모르겠네요.. 대부분 cocos2d게임공개소스에 포함되있는걸로 봐서 올려도 될듯 하긴합니다만...  잘 아시는분 좀 가르켜 주세요...)

암튼 다운받으셔서 열어보시면

___PROJECTNAME___.xcodeproj 
 ___PROJECTNAME___.build 
 ___PROJECTNAME___AppDelegate.h

등으로 구성되 있습니다.

(안의 소스도 이런식으로 파일이름을 정하면 다 자동으로 들어가게끔 구성되 있으니 일반적으로 이름 정해진 프로젝트를 쓰셔서는 안됩니다..)

아까 받은 프로젝트 추가용 폴더를 첨부된 이미지중 이름끝의 괄호안에 cocos2d라고 적혀 있는 경로로 복사 합니다.

Xcode를 완전히 종료 하시고 다시 켜셔서 New Project해보시면 기본 프로젝트의 경로(음 네비게이션프로젝트 앞에 위치 함)에 있는걸 보실수 있습니다.

(첨부된 이미지중 다른 경로로 넣으면 그쪽으로 가긴 합니다만 cocos2d같은 프로젝트는 뉴프로젝트에 넣어야지 뉴파일에 넣지 말아주세요.. 뭐 자기 맘이나 종류가 틀리니깐...  뉴프로젝 뉴파일...이렇게 종류가 틀리니.. 프로젝은 프로젝끼리 뉴파일은 뉴파일끼리..   - 이해가 안가시면 덧글을....  뭐 다음 예를 보시면 이해가 가실겁니다...)


두번째로

뉴파일의 기본 프로젝트에 SoundEffect라는 새 소스를 넣어보도록 하겠습니다.
말그대로 파일이므로 NewFile에 넣도록 하는게 인지상정...
요기서 이용할 소스파일은 GLPaint 애플소스의 class폴더에 있습니다. (SoundEffect.h SoundEffect.m 2개)

/DeskTop 에 폴더를 하나 만듭니다  폴더명은 NSObject SoundEffect subclass.pbfiletemplate 로 해주세요
폴더에 위 2파일을 복사해 넣습니다.

그담 으로 중요한것은 이 소스를 그대로 이용하면 새파일을 만들때 이름이랑 같이 나오게 됩니다...
소스를 조금 고쳐야 합니다.....

SoundEffect.h파일에서 @interface ≪FILEBASENAMEASIDENTIFIER≫ 밑으로 중략... 이렇게 고쳐주시구, 
SoundEffect.m파일에서 이렇게 고쳐주세요 ≪OPTIONALHEADERIMPORTLINE≫


@implementation ≪FILEBASENAMEASIDENTIFIER≫


// Creates a sound effect object from the specified sound file

+ (id)soundEffectWithContentsOfFile:(NSString *)aPath {

    if (aPath) {

        return [[[≪FILEBASENAMEASIDENTIFIER≫ alloc] initWithContentsOfFile:aPath] autorelease];

    }

    return nil;

}

... 더밑으로 중략...

중요한것은 << ... >> 에 들어갈 것들입니다 딱보시니 감이 오실듯 싶습니다...
(위의 cocos2d의 소스도 이런식으로 사용자가 설정한 이름을 받게끔 구성되 있습니다.)

마지막으로 TemplateInfo.plist 을 NSObject SoundEffect subclass.pbfiletemplate폴더에 추가 시켜서
 (TextEditor를 이용하셔도 됩니다.)
{
MainTemplateFile = "SoundEffect.m";
"CounterpartTemplateFile" = "SoundEffect.h";
Description = "An Objective-C class file, with an SoundEffect header which includes the <AudioToolbox/AudioServices.h> & <UIKit/UIKit.h> header. But AudioToobox.framework needed..";
}
을  작성해 주세요...(밑의 그림과 같이 되야 합니다.)



NSObject SoundEffect subclass.pbfiletemplat 를 첨부된 이미지 경로중 soundeffect라고 적힌 경로로 복사해 넣습니다.

마지막으로 복사한 .../Objective-C class 폴더에 TemplateChooser.plist 파일이 있습니다.
(SoundEffect의 슈퍼클래스가 NSObject라서 저기에다가 추가 했습니다 잘 응용하시면 다른곳에도 맘껏 추가 할수 있습죠..)

이녀석을 수정해 줘야 합니다.

일단 열어보시면

Key                       Type             Value
---------------------------------------------------------------------
Root 
OptionsLabel
PopupMenu
TemplateSelection 

이렇게 되 있습니다.

TemplateSelection에서 Obj String NSObject subclass를 복사 하신후 붙여넣기 하시고,
Obj - SoundEffect,  String,  NSObject SoundEffect subclass로 바꿔줍니다.

PopupMenu 앞의 작은 삼각형을 눌러주시고, 아이템이 4개 나옵니다 

이렇게 보시니 이게 뭔지 감이오시죠?  네 NewProject 하신후  Object-C class하시면 밑에서 선택메뉴의 아이템을 뜻합니다.

젤위의 아이템1을 오른쪽 클릭해서 복사 합니다.

다시한번더 PopupMenu를 클릭하신후 붙여넣기를 해주세요.  아이템이 5개가 되었습니다.

아이템1은 원래의 Obj NSObject 이니 건드리지 마시고, 아이템2를 열어주세요 

Key값에는 Obj - SoundEffect 을 해주시고 Title값에는 NSObject SoundEffect subclass를 정해주시길 바랍니다.


즉, 밑의 그림과 같이 만들어주세요.



Xcode를 완전 종료후 다시 프로젝트를 하나 생성하신후 NewFile을 하시면 짜자잔....

밑의 그림과 같이 추가 되 있습니다...




그럼 응용하셔서 자신의 커스텀 프로젝을 많이 넣으시고 좋은 어플 많이 만드시길 기원합니다....

바이바이~

PS soundEffect같은경우에는 AVAudio.Framework를 추가 하셔야 한다는점 잊지마시길....^^*
 
 
 
추가 : 
cocos2d가 버전별로 api가 많이 달라서 최신버전의 템플릿을 구하려고 했는데 제대로 되는게 없었는데 얼마전에 구했습니다. ^^;

http://github.com/stephencelis/cocos2d-application/tree/master

위 홈페이지의 download 버튼을 눌러서 받은 파일을 

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/ 밑에 적당한 디렉토리 만들고
넣어주면 됩니다.

(예 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Game/cocos2d_0.7.2 )

Xcode에서 새프로젝트 할때 위에서 지정한 폴더명의 템플릿을 선택하면 바로 됩니다.

이때 Classes에 Scenes 라는 폴더에 MyScene이라는 클래스가 만들어지는데 이 클래스에 코딩하면 되죠.
 
프로젝트 뿐만 아니라 파일도 템플릿화 할 수 있더군요.

샘플로 싱글턴 객체 템플릿을 만들어봤습니다. (매번 귀찮았던;)

얼추 잘 동작하는듯 싶네요.

다른 자주 쓰는 템플릿들도 입맛에 맞게 만들어 두면 편하겠네요.

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/File Templates/

의 좋아하는 폴더에 압축 풀고 넣으시면 됩니다(ex. Cocoa Touch Classes) 

출처 : 맥부기 카페