1

我正在尝试使以下代码工作,但在渲染它们时我只看到白色矩形:S;

CCSprite *tempSprite = [[CCSprite spriteWithTexture:[[CCTextureCache sharedTextureCache] addImage:@"Icon.png"]] retain];

TapCircle *tapObject = [[TapCircle alloc] initWithSprite:tempSprite];

TapCircle 类是 TapElement 的子类,而 TapElement 又是 CCNode 的子类。TapCircle 中的 initWithSprite 代码:

- (id) initWithSprite:(CCSprite*)tex {

    if ((self = [super init]) == nil) return nil;

    [self addChild:tex];

    return self;
}

然后将 TapCircle 对象添加到父 CCNode,该父 CCNode 又添加到正在渲染的层。我已经测试在另一个项目中创建临时精灵,我将它直接添加到图层中并且它工作......所以一定是某种父子问题?

4

2 回答 2

1

您是否将 Icon.png 添加为项目资源?另外,您不应该从 CCSprite 派生吗?

于 2010-02-20T14:42:32.550 回答
1

好吧,首先我认为您已经获得了调试设置CC_SPRITE_DEBUG_DRAWCC_SPRITEBATCHNODE_DEBUG_DRAW在 ccConfig.h 中定义。这将在您的精灵周围放置一个白色矩形。

于 2011-05-11T13:01:50.897 回答