Cocos2D 与 UIKit 的集成

Integrating Cocos2D with UIKit(Cocos2D 与 UIKit 的集成)

本文介绍了Cocos2D 与 UIKit 的集成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我环顾四周,我看到的关于如何将 cocos2d 与 UIKit 集成的材料很少(注意:不是相反).我的意思是……例如……在 UIView 中添加 cocos sprite 动画,该动画放置在拆分视图控制器中(作为子视图).我该怎么做!?

I've looked around, and i've seen very little material on how to integrate cocos2d with UIKit (note: not the other way around). What i mean is... for example... adding a cocos sprite animation inside a UIView, which is placed inside a split-view controller (as a subview). How can i do that!?

我想从 UISplitView 项目模板或 UITabBar 项目模板开始.

I want to start with a UISplitView project template or the UITabBar project template.

附言我做 iPhone 开发已经有一段时间了,但是对于 cocos2d 框架我是个菜鸟.

p.s. I've been doing iPhone development for a while now, but i'm a noob when it comes to cocos2d framework.

推荐答案

在 Cocos2d 中有一个名为 AttachDemo 的 demo,它将一个 Cocos2d 的 director 附加到一个 UIView.如果你检查调用的方法 -(void)runCocos2d.

There's a demo in Cocos2d called AttachDemo, where it attaches a Cocos2d director to a UIView. If you check the method called -(void)runCocos2d.

如果您查看它的代码,它会执行以下操作:

If you look at its code, it does the following:

-(void) runCocos2d
{
    if( state == kStateEnd ) {

        EAGLView *glview = [EAGLView viewWithFrame:CGRectMake(0, 0, 250,350)];
        [mainView addSubview:glview];

        CCDirector *director = [CCDirector sharedDirector];
        [director setOpenGLView:glview];

        CCScene *scene = [CCScene node];
        id node = [LayerExample node];
        [scene addChild: node];

        [director runWithScene:scene];

        state = kStateRun;
    }
    else {
        NSLog(@"End the view before running it");
    }
}

如您所见,您需要创建一个 EAGLView,将一个导向器附加到它,然后将该视图简单地添加到视图层次结构中.

As you can see, you need to create a EAGLView, attach a director to it, and then simply add that view to the view hierarchy.

这篇关于Cocos2D 与 UIKit 的集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Cocos2D 与 UIKit 的集成