我尝试添加一个图层,其全部目的是用白色填充整个场景。
我尝试按如下方式进行:
// Inside a cass which extends CCScene
- (id)init {
if (self = [super init]) {
// Create the flash layer on level restart
_flashLayer = [[CCLayerColor alloc] init];
[_flashLayer setColor:ccc3(255, 255, 255)];
[self addChild:_flashLayer z:0];
[_flashLayer release];
}
return self;
}
问题是无论我如何设置图层的颜色,我都会得到一个黑屏。 另一件事,如果我尝试按如下方式创建图层:
_flashLayer = [[CCLayerColor alloc] initWithColor:ccc4(255, 255, 255, 255)];
我收到以下错误:
Incompatible type for argument 1 of 'initWithColor:'
我查看了源代码,一切似乎都符合预期。
任何人都可以阐明这个问题吗?
谢谢。
最佳答案
你有两个选择:
_flashLayer = [[CCLayerColor layerWithColor:ccc4(255, 255, 255, 255)];
[self addChild:_flashLayer z:0];
或
// the key is to add (CCLayerColor *) to cast
// or you will meet 'incompatible type for argument' error at compile time
_flashLayer = [(CCLayerColor *)[CCLayerColor alloc] initWithColor:ccc4(255, 255, 255, 255)];
[self addChild:_flashLayer z:0];
[_flashLayer release];
关于iphone - CCLayerColor 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10257499/