大家好,初来乍到咨询一个CCSprite的问题

我从CCSprite派生了一个CCArrow的类,该类非常简单,就重写了虚方法draw,而且draw的实现也很简单
glLineWidth(2);

CCPoint filledVertices] = { ccp(-50, -25), ccp(0, -25), ccp(0, -50), ccp(50, 0), ccp(0, 50), ccp(0, 25), ccp(-50, 25), ccp(-50, -25) };
ccDrawSolidPoly(filledVertices, 8, ccc4f(1, 0, 1, 1));

然后我在Layer的init函数中创建一个CCArrow的实例,然后将该实例addChild,我下断点看到draw方法已经被调用了,但是屏幕上没有我想要绘制出来的多边形,请各位大哥帮忙看看原因在哪里呢

— Begin quote from ____

zhoukaijun 发表于 2012-11-9 13:35 url

你可以跳进去看看,函数是通过opengl写的,我对opengl不怎么了解,想一次性画箭头的话,应该要改某些参数 …

— End quote

嗯,非常感谢,要了解底层就必须去学会OpenGL才行的。

— Begin quote from ____

zhoukaijun 发表于 2012-11-9 12:29 url

可以画一个矩形和三个三角形组成箭头

— End quote

只能如此了,如果是直接用那个ccDrawSolidPoly函数绘制一个箭头是不是所谓的分解凸多边形?

— Begin quote from ____

CoolJie 发表于 2012-11-9 13:12 url

只能如此了,如果是直接用那个ccDrawSolidPoly函数绘制一个箭头是不是所谓的分解凸多边形?

— End quote

你可以跳进去看看,函数是通过opengl写的,我对opengl不怎么了解,想一次性画箭头的话,应该要改某些参数吧

:dizzy::dizzy::dizzy::dizzy:
我的错,后面加入了一个大图片,把这个多边形给盖住了。

ccDrawSolidPoly绘制的多边形的点集的顺序好复杂,想要绘制一个箭头出来,有没有什么简便的建模方法啊。我只不过想绘制一个2D的箭头而已。完全理不清顶点啊:dizzy::dizzy::dizzy:

— Begin quote from ____

CoolJie 发表于 2012-11-9 11:55 url

ccDrawSolidPoly绘制的多边形的点集的顺序好复杂,想要绘制一个箭头出来,有没有什么简便的建模方法啊。我 …

— End quote

可以画一个矩形和三个三角形组成箭头