如何繪製CGRect數組中的所有矩形?我到目前爲止的代碼是: 在我的init方法:如何讓cocos2d繪製數組中的所有矩形
在我的畫法
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();
的問題是,自繪方法覆蓋原來的(至少我是這麼認爲),我不能修改它接受一個CGRect參數,因此它可以向每個矩形的drawRentangle方法發送消息。有人可以幫幫我嗎?非常感謝。
而不是重寫它,讓它調用訪問您的數組或每個矩形的另一種方法? – Moshe 2012-02-05 01:13:21
我試過了,但我想它對我們來說是繪製方法,因爲當我創建一個新的方法時,它沒有繪製矩形。 – Seany242 2012-02-05 02:52:54