Cocos 2D CCColor3b不能赋予property.color

时间:2012-01-13 16:16:52

标签: objective-c xcode colors cocos2d-iphone kobold2d

然而,我可能正在盯着答案。

我想为CCLabelTTF字符串分配随机颜色。当我尝试设置(CCColor3B *)的返回类型并为其分配CCLabelTTF.color = [self randomColor]时,我在方法和上面的赋值中都会出现不兼容的赋值错误。方法代码:

-(ccColor3B *)randomColor
{
float r = arc4random() % 255;
float g = arc4random() % 255;
float b = arc4random() % 255;
ccColor3B *color =  {r,g,b,1};
return color;
}

我想我正在尝试获取错误类型的返回值,或者指定只读值,但CCColor3B上的信息很少。提前谢谢。

1 个答案:

答案 0 :(得分:3)

Cocos2d class documentation开始,CCSprite的属性color不是指针(它是结构)

  

- (ccColor3B)颜色[读,写,赋值]

您需要按以下方式更改方法

-(ccColor3B)randomColor
{
float r = arc4random() % 255;
float g = arc4random() % 255;
float b = arc4random() % 255;
return ccc3(r,g,b);
}

您可以在CCTypes.h(第43行)的文档中找到ccColor3B的定义

  

typedef struct _ccColor3B {
      GLubyte r;
      GLubyte g;
      GLubyte b; } ccColor3B;