转自:http://hi.baidu.com/andida591/item/05fcace07efae8f42a09a4fa
今天小看了下cocos2d 不是据说很牛的技术 是却是很牛的技术,看了几个牛人的帖子,遇到了点问题,这里记录下。
在编译这个的时候,出现了如标题中的错误
+ (id) layerWithColor:(ccColor4B)color
{
return [[[self alloc] initWithColor:color] autorelease];
}
刚开始是搜索的错误,找了一大堆的英文的解决办法,包括那个大名鼎鼎的啥米溢出论坛,但是没结果,后来看到这个论坛的朋友给出了结果,觉得还是同胞亲哪。
http://www.ityran.com/thread-273-1-1.html
11L大神给出了解决办法
我是在[self alloc]前面加上(ColorLayer*),如下:
+ (id) layerWithColor:(ccColor4B)color
{
return [[(ColorLayer*)[self alloc] initWithColor:color] autorelease];
}
在新版本的cocos2d中ColorLayer更新为CCColorLayer了或者是CCLayerColor,两者是一样的。12L大神也给出了原理的解析
1、不是ios5放入问题,是cocos2d-1.x版本的问题;
2、ccColor4B在cocos2d-1.x的方法也有改动。
========================================================
转自:http://blog.csdn.net/wylike/article/details/7560439
Sending 'ccColor4B' (aka 'struct_ccColor4B') to parameter of incompatible type 'CIColor *'
在报错的地方作如下改变:
+ (id) layerWithColor:(ccColor4B)color
{
return [[(CCColorLayer*)[self alloc] initWithColor:color] autorelease];
//return [[[self alloc] initWithColor:color] autorelease];
}
编译通过,嘎嘎!