Преобразование GLKVector в объекты

Я пишу метод для класса «Цвет», который случайным образом выбирает цвет из массива 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, в том смысле, что они не распознаются как идентификатор типа, и я не могу придумать способ легко их преобразовать.

Есть ли способ преобразовать GLKVector во что-то, что я мог бы поместить в массив? И что еще более важно, это хороший способ упорядочить цвета? Возможно, есть что-то более подходящее.


person SPLASHT0N    schedule 24.08.2012    source источник


Ответы (1)


Почему бы просто не использовать базовый массив C?

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