2012-06-16 20 views

回答

4

CCSprite中的所有初始化方法都使用initWithTexture:rect來創建精靈。例如,

-(id) initWithFile:(NSString*)filename 
{ 
    NSAssert(filename!=nil, @"Invalid filename for sprite"); 

    CCTexture2D *texture = [[CCTextureCache sharedTextureCache] addImage: filename]; 
    if(texture) { 
     CGRect rect = CGRectZero; 
     rect.size = texture.contentSize; 
     return [self initWithTexture:texture rect:rect]; 
    } 

    [self release]; 
    return nil; 
} 

其它功能(initWithFileinitWithSpriteFrameinitWithSpriteFrameName,等等)也直接或間接調用initWithTexture:rect。如果你的CCSprite子類有任何特殊的初始化需要發生(因爲它表面上會,因爲你是繼承另一個類),在initWithTexture:rect這樣做保證它將被運行。

+0

我想也做initWithSpriteFrame或那些其他功能將更正? – mm24

相關問題