Cocos2d iphone cocos2d场景问题-在应用程序中从何处调用init()?

Cocos2d iphone cocos2d场景问题-在应用程序中从何处调用init()?,cocos2d-iphone,Cocos2d Iphone,我对cocos2d和Objective C完全陌生。我刚开始研究cocos2d包附带的HelloWorld示例,但无法确定在应用程序中调用HelloWorldScene.m中的-init()函数的位置 以下是我遵循的教程: 提前谢谢 正在场景中重写init()方法。创建场景实例时,将在基类中调用它。通过重写它,您可以触发自己的代码。init()方法在场景中被重写。创建场景实例时,将在基类中调用它。通过重写它,您可以触发自己的代码。jtalarico是正确的。我想进一步阐述一下他的回答 通常,每

我对cocos2d和Objective C完全陌生。我刚开始研究cocos2d包附带的HelloWorld示例,但无法确定在应用程序中调用HelloWorldScene.m中的-init()函数的位置

以下是我遵循的教程:


提前谢谢

正在场景中重写init()方法。创建场景实例时,将在基类中调用它。通过重写它,您可以触发自己的代码。

init()方法在场景中被重写。创建场景实例时,将在基类中调用它。通过重写它,您可以触发自己的代码。

jtalarico是正确的。我想进一步阐述一下他的回答

通常,每当对象被实例化时,某种形式的[init]就会被约定调用。对于许多对象,[init]是所需的全部,但有些对象具有更复杂的形式,例如[initWithSomething]

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

+(id) node
{
    return [[[self alloc] init] autorelease];
}
其他对象具有其他构造函数,但这是主要示例


因此,如果您将CCNode子类化,那么您可以重写[init]方法,并在创建对象时完成自己的工作。只需确保调用[super init],以便CCNode也可以自己进行初始化。

jtalarico是正确的。我想进一步阐述一下他的回答

通常,每当对象被实例化时,某种形式的[init]就会被约定调用。对于许多对象,[init]是所需的全部,但有些对象具有更复杂的形式,例如[initWithSomething]

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

+(id) node
{
    return [[[self alloc] init] autorelease];
}
其他对象具有其他构造函数,但这是主要示例

因此,如果您将CCNode子类化,那么您可以重写[init]方法,并在创建对象时完成自己的工作。只要确保调用[super init],CCNode也可以自己初始化