1

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

我想为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它的信息很少。提前致谢。

4

1 回答 1

3

Cocos2d 类文档color中,CCSprite的属性不是指针(它是一个结构体)

-(ccColor3B) 颜色 [读取、写入、分配]

你需要改变你的方法如下

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

You can find the definition of ccColor3B in the docs for CCTypes.h (line 43)

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

于 2012-01-13T18:12:15.313 回答