我试图在SpriteKit中创建渐变纹理。
要做到这一点,我必须使用CAGradientLayer
并渲染图像。我的问题是设置颜色。
来自Apple的文档:
定义每个渐变色标的颜色的
CGColorRef
个对象数组。动画。
所以在代码中,我试过这个:
gradient.colors = [NSArray arrayWithObjects:[UIColor redColor].CGColor, [UIColor whiteColor].CGColor, [UIColor blueColor].CGColor, nil];
这不起作用,因为CGColorRef
不是对象类型,无法发送到id
类型。我的错误是:
将
的参数的指针类型不兼容CGColorRef
(又名struct CGColor *
)发送到类型为id
如何创建CGColorRef
?
答案 0 :(得分:4)
只需使用数组文字并转换为(id)
:
gradient.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor whiteColor].CGColor, (id)[UIColor blueColor].CGColor];