Это возможно, но вы должны знать, что основное ядро вашего приложения должно контролироваться Cocos2D, а это значит, что CCDirector должен быть создан в AppDelegate.
Начните с:
а). установить Cocos2D:
Перейдите в терминал и напишите (если вы сохраняете файл cocos2D на рабочем столе, если не используете путь, по которому вы его сохранили)
cd Desktop/cocos2d-iphone-1.1-beta
sudo ./install-templates.sh
и если вы не смогли установить, попробуйте еще раз с помощью
./install-templates.sh -f -u
б). Импортируйте cocos2d.h внутри AppDelegate
в). Объявите CCDirector в методе applicationDidFinishLaunching внутри AppDelegate (вы должны проверить, что код для этого в шаблоне Cocos2D довольно прост)
Я сделал это в своем методе applicationDidFinishLaunching:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[window setUserInteractionEnabled:YES];
[window setMultipleTouchEnabled:YES];
CCDirector *director = [CCDirector sharedDirector];
// Create an EAGLView with a RGB8 color buffer, and a depth buffer of 24-bits
EAGLView *glView = [EAGLView viewWithFrame:[window frame]
pixelFormat:kEAGLColorFormatRGB565 // kEAGLColorFormatRGBA8
depthFormat:0 // GL_DEPTH_COMPONENT16_OES
];
[glView setMultipleTouchEnabled:YES];
// attach the openglView to the director
[director setOpenGLView:glView];
// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
if( ! [director enableRetinaDisplay:YES] )
CCLOG(@"Retina Display Not supported");
// make the OpenGLView a child of the main window
[window addSubview:glView];
// make main window visible
[window makeKeyAndVisible];
GameScene *gs = [GameScene node];
[[CCDirector sharedDirector] runWithScene:gs];
//General is part of UIKit where I load the tabbar
General *principal;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
principal = [[General alloc] initWithNibName:@"General-iPad" bundle:nil];
} else {
principal = [[General alloc] initWithNibName:@"General" bundle:nil];
}
self.general = principal;
[principal release];
[self showUIViewController:general];
}
Чтобы нажать сцену с панели вкладок в UIKit
[[CCDirector sharedDirector] pushScene: [CCTransitionMoveInB transitionWithDuration:0.0f scene:[MyScene scene]]];
Далее я рекомендую вам следовать руководству Рэя Вендерлиха Как интегрировать Cocos2D и UIKit, а также прочитайте этот пост как мы может показать UIViewController и UIView с помощью cocos2d? Возможно, вам также следует поискать код на форумах Cocos2D, всегда помогите увидеть это.
РЕДАКТИРОВАТЬ:
1) Вы можете скачать простой пример отсюда: UIKit Cocos2D
Вы также можете ознакомиться с этим фреймворком: Kobol2D — это расширенная и улучшенная версия популярного игрового движка Cocos2D для iPhone. Все, что вы знаете о Cocos2D, по-прежнему можно применять, а с Kobold2D проще начать работу, он более удобен в использовании, более мощный и гибкий, чем Cocos2D, со всей документацией, доступной онлайн и офлайн. Используйте Kobold2D для разработки игр для iPhone, iPod touch, iPad и Mac OS X для Apple App Store. И в нем есть несколько примеров использования UIKIT и Cocos2D».
person
Phynet
schedule
10.02.2012