Так что я пытаюсь нарисовать простой прямоугольник в моей iOS-игре cocos2d, но он просто не появляется. Сначала я добавил свой код рисования прямоугольника в метод init init моей основной сцены, но он не появлялся, поэтому я огляделся.Рисование прямоугольника с Cocos2d
Я прочитал это http://www.cocos2d-iphone.org/forum/topic/655, и что я получил от него, должен был создать новый класс, расширить класс CCLayer и добавить его в мою основную сцену.
Это код моей основной сцены:
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
HelloWorldLayer *layer = [HelloWorldLayer node];
RectLayer *rectLayer = [RectLayer node];
// add layer as a child to scene
[scene addChild:rectLayer];
[scene addChild: layer];
// return the scene
return scene;
}
И это мой RectLayer.m код,
#import "RectLayer.h"
@implementation RectLayer
-(id) init {
if((self=[super init])) {
glEnable(GL_LINE_SMOOTH);
glColor4ub(255, 255, 255, 255);
glLineWidth(2);
CGPoint vertices2[] = { ccp(79,299), ccp(134,299), ccp(134,229), ccp(79,229) };
ccDrawPoly(vertices2, 4, YES);
}
}
@end
Теперь я получаю ошибку EXC_BAD_ACCESS при попытке открыть его с IPad тренажер.
Я недавно только что начал Objective-C, поэтому я не совсем уверен, что случилось.
Спасибо за любую помощь.
И я бы положил это в RectLayer.m правильно? – Austin
Также в коде главной сцены вы захотите добавить rectLayer после слоя, чтобы он появился сверху. – Letrstotheprez
Да, это должен быть метод рисования RectLayer. Также см. Комментарий @Letrstotheprez. – sch