我正在使用Cocosbutton类创建一个添加到场景中的按钮。这会创建一个CCSprite,它被添加到CCMenu中的CCMenuItem:
@interface CocosButtonItem : CCMenuItem {
...
在init方法中,添加了背景:
UIImage *bgImage = [UIImage imageWithContentsOfFile:@"buttonback.png"],
back = [CCSprite spriteWithCGImage:bgImage.CGImage key:@"bgimage"];
back.anchorPoint = ccp(0,0);
self.contentSize = back.contentSize;
CCLayerColor *bgFill = [CCLayerColor layerWithColor:ccc4(255.0, 255.0, 255.0, 255.0)];
bgFill.contentSize = self.contentSize;
bgFill.position = ccp(0,0);
[self addChild:bgFill];
back.color = ccc3(255,255,255);
[self addChild:back]; // without this, I just get a whit layer (as intended)
一旦我添加了最后一行以将精灵添加到CCMenuItem,我得到一个黑色背景(见截图)。 CCSprite背景图片的来源是8bit .png,具有透明度,我无法弄清楚为什么我会看到这个黑色背景。