首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CCScene附加到EAGLView

将CCScene附加到EAGLView
EN

Stack Overflow用户
提问于 2011-11-16 06:06:26
回答 1查看 647关注 0票数 1

我正在尝试将我的CCScene类附加到我的EAGLView上。所以我的EAGLView是第一类中的一个IBOutlet,我把它连接起来,然后设置和获取它。然后在我一班的ViewDidLoad里:

代码语言:javascript
复制
[[CCDirector sharedDirector] setOpenGLView:self.eaglView];
[[CCDirector sharedDirector] runWithScene:[CCSceneClass node]];

问题在于,它不是调用我在CCScene类中显示的类(我用NSLogs进行了测试)。无论如何,假设我的CCScene类名为CCSceneClass,我如何正确地将它与来自Class1的ViewDidLoad (My UIViewController)连接,以便调用CCScene类中的这个方法?

这也是我在这个方法中所做的一些代码,如果这一点很重要的话:

代码语言:javascript
复制
-(id)initWithEaglView:(EAGLView*)view {
NSLog(@"initWithEAGLView");
        //Attach CCDirector to EAGLView
        director = [CCDirector sharedDirector];
        [director setOpenGLView:view];
        //Make CCLayer and CCScene
        CCScene *scene = [CCScene node];
        CCLayer *layer = [CCLayer node];
        [scene addChild:layer];
        [director runWithScene:scene];
        [director setDisplayFPS:NO];
}

谢谢!

我的问题:

1.这2行的意义是什么(顺便说一下,第一行有一个警告说,没有找到该方法:

代码语言:javascript
复制
[director setDirectorType:kCCDirectorTypeDisplayLink];
[director setAnimationInterval:1.0/60];

我已经在我的CCLayer类中有了一个游戏循环,所以这是否意味着我可以去掉这些行呢?

这是我唯一剩下的问题了!

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 11:34:12

您不能将CCScene类与OpenGL视图“连接”,也不需要真正地连接。

在设置了eaglView之后,您将继续正常地使用CCDirector运行场景:

代码语言:javascript
复制
[[CCDirector sharedDirector] setOpenGLView:self.eaglView];
...
[[CCDirector sharedDirector] runWithScene:[CCSceneClass node]];

如果需要访问场景类中的eaglView,则可以通过CCDirector获得:

代码语言:javascript
复制
EAGLView* view = [CCDirector sharedDirector].openglView;

更新:

在Cocos2D应用程序中初始化UIKit视图的完整代码:

代码语言:javascript
复制
CCDirector* director = [CCDirector sharedDirector];
[director setDirectorType:kCCDirectorTypeDisplayLink];
[director setAnimationInterval:1.0/60];
[director setOpenGLView:(EAGLView*)subview];
[director runWithScene:[HelloWorldLayer scene]];

我的学习Cocos2D书籍中有一章更详细地解释了Cocos2D在UIKit应用程序中的集成(反之亦然)。您还可以从该页面下载书籍源代码 (第二版),并查看第15章示例项目"ViewBasedAppWithCocos2D“。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8147444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档