将 Cocos2D 与 UIKit 集成

发布于 2024-10-31 01:36:30 字数 233 浏览 2 评论 0原文

我环顾四周,发现关于如何将 cocos2d 与 UIKit 集成的材料非常少(注意:不是相反)。我的意思是...例如...在 UIView 中添加 cocos sprite 动画,该动画放置在分割视图控制器内(作为子视图)。我怎样才能做到这一点!

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

ps 我从事 iPhone 开发已经有一段时间了,但对于 cocos2d 框架我还是个菜鸟。

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!?

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

红焚 2024-11-07 01:36:30

Cocos2d 中有一个名为 AttachDemo 的演示,它将 Cocos2d 控制器附加到 UIView。如果您检查名为 -(void)runCocos2d 的方法。

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

-(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,为其附加一个控制器,然后只需将该视图添加到视图层次结构中即可。

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");
    }
}

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.

玻璃人 2024-11-07 01:36:30

这是 @pgb 所指的演示的链接,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文