cocos2dx绘制直线

封装一个CCNode,重写draw函数,使用opengl函数绘制直线,done!

Line *Line::create(float h,float w,const ccColor4B &colorValue)
{
    Line * result = new Line();
    if (result)
    {
        result->initLine(h,w, colorValue);
        result->autorelease();
        return result;
    }
    CC_SAFE_DELETE(result);
    return NULL;
}
void Line::draw()
{
    CCNode::draw();
    CHECK_GL_ERROR_DEBUG();
    glLineWidth(h);
    ccDrawColor4B(color.r, color.g, color.b, color.a);
    ccDrawLine( ccp(0,0), ccp(w,0));
    
    glLineWidth(1);
    ccDrawColor4B(255,255,255,255);
    ccPointSize(1);
    
    CHECK_GL_ERROR_DEBUG();
}
void Line::initLine(float h0 ,float w0,const ccColor4B &colorValue)
{
    w = w0;
    h = h0;
    color = colorValue;
}
原文地址:https://www.cnblogs.com/howeho/p/3022103.html