2

我想绘制一些自定义的 opengl 元素,例如ccdrawline(). 根据 cocos2d 文档,我应该重写draw()方法来在我的子类层中绘制我的东西。但是它不起作用。而如果我重写该visit()方法,我可以看到我想要绘制的内容。我对此感到困惑,我正在寻找解决这个问题的想法。

我是这样设计的:

- (void)draw
{
  [super draw];
  CGPoint a = ccp(0,0);
  CGPoint b = ccp(480,320);
  ccDrawLine(a,b);
}
4

2 回答 2

3

您的代码是正确的,它应该可以工作。但我隐约记得 CCLayer 类不调用 draw 。无论哪种方式,draw 或 visit 几乎都是相同的方法,所以只要使用任何一个有效的方法。

于 2012-08-02T12:59:45.970 回答
0

可能是因为你错过了告诉如何画线的方法吗?值得一试。

// Set color
glColor4f(0.5, 0.5, 0.5, 1.0);

// Set line width
glLineWidth(6.0f);
于 2012-08-02T14:12:04.747 回答