如若重载CCSprite的draw函数,记得设置blend混合模式,默认是没有透明度的。
示例如下:
void draw()
{
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //cocos2d默认混合模式
//根据圆的半径来计算分割份数,一般够用
ccDrawColor4F(color.r, color.g, color.b, color.a);
ccDrawSolidArc(CCPointZero, radius, radius*10, radsrc/180*M_PI, raddest/180*M_PI); //注意这里用坐标(0,0)!
}
如果没有glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA),绘制的图形就不会有透明效果!