首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个+(CCScene *)场景是用来干什么的?

这个+(CCScene *)场景是用来干什么的?
EN

Stack Overflow用户
提问于 2012-07-21 01:32:49
回答 2查看 750关注 0票数 1

我看到的许多示例CCLayer子类的代码如下所示:

代码语言:javascript
复制
+(CCScene *) scene{
    CCScene *scene = [CCScene node];
    HelloWorldLayer *layer = [HelloWorldLayer node];
    [scene addChild: layer];

    return scene;
}

谁调用了这个方法,它的作用是什么?它需要出现在那里吗?对于将来的一些目的,它是否方便?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-21 01:59:56

是的,它是必要的。此方法在ApplicationDelegate的applicationDidFinishLaunching方法中调用。例如,在HellowWorld模板中,在AppDelegate:[[director_ pushScene: [HelloWorldLayer scene]]中的这一行中调用它

ccDirector只能运行CCScene,并且一次只能运行一个CCScene。这就是为什么CCLayer首先创建一个CCScene,然后将自己作为子级添加到其中。作为另一种选择,您可以子类化CCScene,并通过覆盖其init方法将CCLayers等添加到子类中,如下所示:

代码语言:javascript
复制
-(id) init {
   if (self = [super init]){
     CCLayer *aLayer = [CCLayer node];
     [self addChild: aLayer];
     ....
  }
 return self;
}

并在AppDelegate的applicationDidFinishLaunching方法中将此行[[director_ pushScene: [HelloWorldLayer scene]]替换为此[[director_ pushScene: [myScene node]]

票数 1
EN

Stack Overflow用户

发布于 2012-07-21 01:36:01

我只知道这是不必要的,我也想知道同样的事情。我想这是因为他们想鼓励场景的使用。您的场景应该由层组成,并且您应该在场景之间切换。

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

https://stackoverflow.com/questions/11584249

复制
相关文章

相似问题

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