将GLKVector转换为对象

时间:2012-08-24 17:48:57

标签: objective-c colors glkit

我正在编写一个“Color”类的方法,它将从GLKVector4的数组中随机选择一种颜色(如GLKit中所示)。颜色看起来像这样:

    self.WHITE=GLKVector4Make(1.0, 1.0, 1.0, 1.0);
    self.RED=GLKVector4Make(1.0, 0.0, 0.0, 1.0);
    self.GREEN=GLKVector4Make(0.0, 1.0, 0.0, 1.0);
    self.BLUE=GLKVector4Make(0.0, 0.0, 1.0, 1.0);
    self.BLACK=GLKVector4Make(0.0, 0.0, 0.0, 1.0);

我想将它们放入一个数组中,以便我可以随机选择一个。问题是GLKVector4不是NSArray友好的,因为它们不被识别为类型ID,我想不出一种方法可以轻松转换它们。

有没有办法将GLKVector转换成我可以放入数组的东西?更重要的是,这是组织颜色的好方法吗?也许有更合适的东西。

1 个答案:

答案 0 :(得分:1)

为什么不使用基本的C数组?

GLKVector4 colors[5] = {self.WHITE, self.RED, self.GREEN, self.BLUE, self.BLACK};
//...
GLKVector4 randomColor = colors[arc4random_uniform(5)];