cocos2d场景问题 - 在应用程序中调用init()的位置?

pwa*_*ang 1 cocos2d-iphone

我是cocos2d和Objective C的新手.我刚刚开始研究cocos2d包附带的HelloWorld示例,并且无法弄清楚应用程序中HelloWorldScene.m中的-init()函数被调用的位置.

以下是我关注的教程:http: //www.bit-101.com/blog/?p = 212c

提前致谢!

cc.*_*cc. 5

jtalarico是对的.我想稍微扩展他的答案.

通常,只要对象被实例化,就会按惯例调用某种形式的[init].对于许多对象,只需要[init],但是某些对象具有更复杂的形式,例如[initWithSomething].

在Cocos2d中,init函数通常由[node]方法调用,该方法通常用于在Cocos2d中构造对象.例如,查看CCNode.m,您将看到以下代码:

+(id) node
{
    return [[[self alloc] init] autorelease];
}
Run Code Online (Sandbox Code Playgroud)

其他对象有其他构造函数,但这是主要的例子.

因此,如果你是CCNode的子类,你可以覆盖[init]方法并在创建对象时自己做东西.只需确保调用[super init],以便CCNode也可以进行自己的初始化.