2015-06-21 104 views
1

我试图在SpriteKit中创建渐变纹理。CGColorRef对象数组

要做到这一点,我必须使用CAGradientLayer并呈现图像。我的问题是设置颜色。

从苹果公司的文档:

CGColorRef对象限定每个渐变停止的颜色的数组。动画。

所以在代码中,我尝试这样做:

gradient.colors = [NSArray arrayWithObjects:[UIColor redColor].CGColor, [UIColor whiteColor].CGColor, [UIColor blueColor].CGColor, nil]; 

这是不行的,因为CGColorRef不是一个对象类型,不能被发送到输入id。我的错误是:

不兼容的指针类型发送CGColorRef(又名struct CGColor *)类型为id

的参数如何创建的CGColorRef数组?

回答

2

编辑它似乎我以前的代码没有工作后,测试它...下面的一个应该工作。

只需使用数组文本和转换为(id)

gradient.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor whiteColor].CGColor, (id)[UIColor blueColor].CGColor]; 

enter image description here

+0

这看起来令人惊讶!为screencap +1! – DDPWNAGE

+1

@DDPWNAGE欢迎你:)这个mac截图看起来总是和阴影边界一样好看;) – luk2302