我想为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
上的信息很少。提前谢谢。
答案 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;