当前位置:  开发笔记 > 编程语言 > 正文

Cocos2d为此?

如何解决《Cocos2d为此?》经验,为你挑选了3个好方法。

我刚刚完成了我的iPhone应用程序概念.我有一个主程序,在那个程序中我想开始一个游戏.

主程序(按钮1 /按钮2 /开始游戏)| | Cocos2d游戏

这可能吗?在正常的"iPhone应用程序"中使用cocos2D ???

非常感谢!!!



1> Colin Gislas..:

将UIKit与Cocos2d混合绝对是可能的.通常人们通过将他们的UIKit视图放在Cocos2d层中来实现这一点.听起来你想要将Cocos2d游戏嵌入到UIKit视图中.这应该是可能的,但我不确定所涉及的细节.尝试-(BOOL)attachInView:(UIView *) view在CCDirector中查看.

请注意,Cocos2d使用OpenGL,混合OpenGL和UIKit时可能会出现性能问题.在使用应用程序的其他部分时暂停Cocos2d会有所帮助.



2> pille..:

我在Ray Wenderlich的网站上找到了大量关于iPhone的Cocos2D的精彩教程.您可能特别想要查看的一个教程是 如何集成Cocos2D和UIKit

注意:最初的"Cocos2D"框架是用Python编写的,不是为iOS设计的; 这是iOS端口的实际主页.



3> 小智..:

这是可能的,但您应该知道应用程序的主要核心必须由Cocos2D控制,这意味着CCDirector需要在AppDelegate中实例化.

从...开始:

一个).安装Cocos2D:

转到终端并写入(如果在桌面上保存cocos2D文件,如果不使用保存它的路径)

    cd  Desktop/cocos2d-iphone-1.1-beta
    sudo ./install-templates.sh

如果你无法安装再试一次

    ./install-templates.sh -f -u

B).在AppDelegate中导入cocos2d.h

C).在AppDelegate中的applicationDidFinishLaunching方法中声明CCDirector(你应该在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中的tabbar推送场景

    [[CCDirector sharedDirector] pushScene: [CCTransitionMoveInB transitionWithDuration:0.0f scene:[MyScene scene]]];

接下来我建议你按照Ray Wenderlich的教程如何集成Cocos2D和UIKit阅读这篇文章以及我们如何使用cocos2d展示UIViewController和UIView?也许你应该在Cocos2D论坛中搜索一些代码,总是帮助看到它.

编辑:

1)您可以从这里下载一个简单的例子:UIKit Cocos2D

你也可以查看这个框架:Kobol2D"是流行的Cocos2D for iPhone游戏引擎的扩展和改进版本.你所知道的关于Cocos2D的一切仍然可以应用,而且Kobold2D更容易上手,使用起来更方便,更多比Cocos2D强大而灵活,可以在线和离线使用所有文档.使用Kobold2D为Apple App Stores开发iPhone,iPod touch,iPad和Mac OS X游戏.它有一些使用UIKIT和Cocos2D的例子.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有