Sending 'ccColor4B' (aka 'struct _ccColor4B') to parameter of incompatible type

 

转自: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 allocinitWithColor:color] autorelease];

    //return [[[self alloc] initWithColor:color] autorelease];

}

编译通过,嘎嘎!

你可能感兴趣的:(cocos2d)