在Cocos2d-x中,CCObject都重写了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