Cocos2d-x 绘制基本图形

前端之家收集整理的这篇文章主要介绍了Cocos2d-x 绘制基本图形前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在Cocos2d-x中,CCObject都重写了draw函数,我们如果想绘制一个基本类型的图形,可以在此类函数中实现。

在头文件中重写draw函数

    virtual void draw();

在源文件中实现draw函数
void HelloWorld::draw()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    
    // 设置颜色
    ccDrawColor4B(230,200,100,100);
    
    // 设置线的宽度
    glLineWidth(2);
    
    // 绘制一条直线
    ccDrawLine(CCPointMake(0,0),CCPointMake(winSize.width/2.0,winSize.height/2.0));
    
    //////////////////////////////////////////
    
    // 设置颜色
    ccDrawColor4B(255,255,0);
    
    // 设置像素尺寸
    ccPointSize(30);
    
    // 绘制一个点
    ccDrawPoint(CCPointMake(winSize.width/2.0,winSize.height/2.0));
    
    //////////////////////////////////////////
    
    // 设置颜色
    ccDrawColor4B(0,250,0);
    
    // 绘制圆形
    ccDrawCircle(CCPointMake(winSize.width/2.0,winSize.height/2.0),50,CC_DEGREES_TO_RADIANS(90),false);
    
    //////////////////////////////////////////
    
    // 设置颜色
    ccDrawColor4B(0,255);
    
    // 设置线的宽度
    glLineWidth(5);
    
    // 绘制多边形
    CCPoint vert[] = {ccp(70,150),ccp(150,200),ccp(190,300)};
    ccDrawPoly(vert,4,true);
    
    //////////////////////////////////////////
    
    // 设置颜色
    ccDrawColor4B(255,255);
    
    // 绘制填充的多边形
    CCPoint fill[] = {ccp(0,120),ccp(50,170),ccp(25,ccp(0,170)};
    ccDrawSolidPoly(fill,5,ccc4f(0.5f,0.5f,1,1));
    
    //////////////////////////////////////////
    
    // 绘制贝塞尔曲线
    ccDrawQuadBezier(ccp(0,winSize.height),ccp(winSize.width/2.0,ccp(winSize.width,50);
    
    //////////////////////////////////////////
    
    // 绘制立体的贝塞尔曲线
    ccDrawCubicBezier(ccp(winSize.width/2.0,ccp(winSize.width/2.0+30,winSize.height/2.0+50),ccp(winSize.width/2.0+60,winSize.height/2.0-50),100);
    
    //////////////////////////////////////////
    
    // 绘制填充矩形
    ccDrawSolidRect(ccp(240,50),ccp(300,10),ccc4f(255,177,255));
    
}
原文链接:https://www.f2er.com/cocos2dx/344337.html

猜你在找的Cocos2d-x相关文章