所以我试图在我的 iOS cocos2d 游戏中绘制一个简单的矩形,但它根本没有出现。起初,我将矩形绘制代码添加到 Main 场景的 init 方法中,但没有显示出来,所以我环顾四周。
我读到了 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
现在我在尝试使用 iPad 模拟器打开它时遇到 EXC_BAD_ACCESS 错误。
我最近刚开始使用 Objective-C,所以我不太确定出了什么问题。
感谢您的帮助。
Best Answer-推荐答案 strong>
把绘制代码放在draw 方法中:
- (void)draw
{
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);
}
关于ios - 使用 Cocos2d 绘制矩形,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9442143/
|