Cocos2d для этого?

Я только что закончил свою концепцию приложения для iphone. У меня есть основная программа и в этой программе я хочу запустить игру.

ГЛАВНАЯ ПРОГРАММА (КНОПКА 1 / КНОПКА 2 / НАЧАТЬ ИГРУ) | | Cocos2d игра

Это возможно? Использовать cocos2D в обычном "приложении для iphone"???

Большое спасибо!!!


person Marins    schedule 08.04.2010    source источник
comment
Игра, написанная с помощью Cocos2d или любой другой технологии, является обычным приложением для iPhone. Звучит так, будто вы описываете начальный экран Monkey Flight с тремя кнопками: «Пуск», «Параметры», «Дополнительные игры». Но, возможно, вам нужно уточнить, что вы спрашиваете.   -  person Nathan S.    schedule 08.04.2010
comment
Cocos2D не ограничивается играми. Как бы это было? Вы можете делать с ним все, что у вас есть навыки.   -  person Aaron Goselin    schedule 20.06.2011


Ответы (8)


Определенно можно смешивать UIKit с Cocos2d. Обычно для этого люди помещают свои виды UIKit внутрь слоя Cocos2d. . Похоже, вы хотите вместо этого встроить игру Cocos2d в представление UIKit. Это должно быть возможно, но я не уверен в деталях. Попробуйте посмотреть -(BOOL)attachInView:(UIView *) view в CCDirector.

Обратите внимание, что Cocos2d использует OpenGL и возможны проблемы с производительностью при смешивании OpenGL и UIKit. Приостановка Cocos2d при использовании другой части вашего приложения поможет.

person Colin Gislason    schedule 15.04.2010

Я нашел множество отличных руководств по Cocos2D для iPhone на сайте Рэя Вендерлиха. Одно из учебных пособий, которое вы, возможно, захотите просмотреть, — Как интегрировать Cocos2D и UIKit

Примечание: исходный фреймворк Cocos2D был написан на Python и не предназначен для iOS; вот фактическая домашняя страница для порта iOS.

person pille    schedule 01.11.2011
comment
Я согласен с тем, что сайт Рэя Вендерлиха — отличная отправная точка для новичков в Cocos2d. Он действительно погружается в работу, и вы очень быстро запачкаете руки работающим игровым кодом. Потрясающий ресурс. - person Donald; 27.12.2012

Это возможно, но вы должны знать, что основное ядро ​​вашего приложения должно контролироваться 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

Вы, безусловно, можете создать игру с вашими требованиями в Cocos2D. Вы можете задать дополнительные вопросы на форумах Cocos2D и прочитать свою документацию.

person Rob Segal    schedule 09.04.2010

Вы, вероятно, можете сделать это легко ......

Вам нужно только сделать вид (UIView *) в CCDirector.

после прикрепления вида.....

person Marine    schedule 14.10.2011
comment
Спасибо, Мариночка, за отличный ответ :) - person User1988; 22.05.2013

Вы можете скачать пример кода здесь: Uikit cocos2D

person Sophy Swicz    schedule 01.04.2012

Да. Очень просто и удобно реализовать Cocos2D с помощью обычного Iphone FrameWork. См. Учебник по интеграции Ray Wenderlich UIKit и Cocos2D здесь. Это будет полезно для вас.

person Balan Prabhu    schedule 11.05.2012

Да! Очень возможно, только установите Cocos2d и его шаблоны. Включительно, я использовал Cocos2d для создания простых приложений с большим количеством эффектов :)

person lightless07    schedule 13.12.2012