Как я могу нарисовать все прямоугольники в массиве CGRect? Код, который у меня пока есть:
в моем методе init:
rec1 = CGRectMake(50, 400, 30, 30);
CGRect startingRect = rec1;
int count = 48;
CGRect rectArray[count];
rectArray[0] = startingRect;
CGRect oneRect = rectArray[0];
int i;
for (i = 1; i < count; i++) {
oneRect.origin.x += 40;
if (oneRect.origin.x+oneRect.size.width > size.width) {
oneRect.origin.x = startingRect.origin.x;
oneRect.origin.y -= 40;
}
rectArray[i] = oneRect;
}
[self draw];
в моем методе рисования:
glColor4f(1.0, 0, 0, 1.0);
glLineWidth(1.0f);
[self drawRectange:rec1];
и в моем методе drawRectangle:
glColor4f(1.0, 0.0, 0.0, 1.0);
CGPoint vertices[4] = {
ccp(rect.origin.x, rect.origin.y),
ccp(rect.origin.x+rect.size.width, rect.origin.y),
ccp(rect.origin.x+rect.size.width, rect.origin.y+rect.size.height),
ccp(rect.origin.x, rect.origin.y+rect.size.height)
};
ccDrawPoly(vertices, 4, YES);
glVertexPointer(2, GL_FLOAT, 0, vertices);
CC_ENABLE_DEFAULT_GL_STATES();
Проблема в том, что, поскольку метод draw переопределяет оригинал (по крайней мере, это то, что я думаю), я не могу изменить его так, чтобы он принимал параметр CGRect, чтобы он мог отправлять сообщение в метод drawRentangle для каждого прямоугольника. Может кто-нибудь, пожалуйста, помогите мне? Большое спасибо.