게임 제작의 중심은 주로 그림을 어떻게 표현하느냐,
뭐가 화면에 보여야 내가 제대로 만들고 있는건지 알 수 있는거 아닐까?
iPhone 게임 개발로 많이 사용되는게 cocos2D 라는 라이브러리이다.
현재 0.8.1 버전까지 나온 상태다.
http://appsnet.co.kr/bbs/cocos2d
여기 개발자 포럼에 상세하게 cocos2D의 개발환경 설정부터
애니메이션 구현까지의 강좌가 설명되어있다.
어제까지 아이폰 시뮬레이터에 메뉴를 만들어서 띄우는 것까지 해보았다.
다음은 메인 소스이다.
//
// Cocos2DAppDelegate.m
// Cocos2D
//
// Created by MOAi on 09. 10. 8..
// Copyright 전북대학교 2009. All rights reserved.
//
#import "Cocos2DAppDelegate.h"
#import "cocos2d.h"
@implementation Cocos2DAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// UIWidow 개체를 생성
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Director에서 사용할 View등록
[[Director sharedDirector] attachInView:window];
// HelloScene 생성
Scene *helloScene = [Scene node];
// hello world 라벨 만들기
Label *helloLabel = [Label labelWithString:@"Hello World of Cocos2d."
fontName:@"Helvetica" fontSize:20.0f];
helloLabel.position = ccp(150,200); // 위치 지정(가운데를 글자의 가운데 부분을 위치시켜야함)
//[helloScene addChild:helloLabel];
//초록색 코드는 맨처음 헬로우 월드 찍어보는 코드이고 라벨 사용법을 알기 위해서 코드를 남겨 놓았음
// 이 부분을 강좌 잘 따라해가면서 만들어봤음 전체 소스가 없어서 고민해서 만드느라 시간이 상당히 오래걸렸다.
// 기본 메뉴 아이템 설정
[MenuItemFont setFontSize:30];
[MenuItemFont setFontName: @"Courier New"];
// 메뉴 아이템
MenuItem *item1 = [MenuItemFont itemFromString: @"시작" target:self selector:@selector(menuStartCallback:)];
MenuItem *item2 = [MenuItemFont itemFromString: @"환경설정" target:self selector:@selector(menuConfigCallback:)];
// 메뉴를 담는 레이어(메뉴는 배열 형식)
Menu *menu = [Menu menuWithItems: item1,item2, nil];
//[menu alignItemsInRows:(NSNumber *)2];
[menu alignItemsInRows:[NSNumber numberWithInt:2],nil];
// 메뉴의 위치설정
//menu.position = ccp(100,300);
// 메뉴들의 위아래 간격 조절
//[menu alignItemsVerticallyWithPadding:100.0f];
// 씬에 메뉴를 추가(메뉴가 레이어를 상속받기때문에 다른 레이어 추가없이 추가 가능)
[helloScene addChild:menu];
// HelloScene을 실행
[[Director sharedDirector] runWithScene:helloScene];
// Override point for customization after application launch
[window makeKeyAndVisible];
}
-(void) menuStartCallback: (id) sender
{
NSLog(@"called start menu");
}
-(void) menuConfigCallback: (id) sender
{
NSLog(@"called config menu");
}
- (void)dealloc {
[window release];
[super dealloc];
}
@end
빌드하고 실행하면 다음과 같이 시뮬레이터에 코드에 작성한 것처럼
시작과 환경설정이란 메뉴가 나타난다.
왼쪽화면은 메뉴를 클릭했을때 콜백메소드를 제대로 호출하는지 확인하기 위해 띄운 콘솔창
위 스샷과 같이 메뉴를 누를때마다 콜백메소드가 잘 호출되고 있는게 보인다.
일단 인트로 화면이 이렇게 구성이 되어야 하는데. 메뉴 글자부터 짤라서 이미지나 만들어 놓을까
Posted by windship