3.16 draw
virtual void draw(); void HelloWorld::draw() { CCSize size = CCDirector::sharedDirector()->getWinSize(); //【设置颜色】 ccDrawColor4B(255,0,0,255); //【设置线条的宽度】 glLineWidth(2); //【绘制一条直线】 ccDrawLine(ccp(10,10),ccp(size.width/2,size.height/2)); ccDrawColor4B(255,255,0,255); //【设置像素尺寸】 ccPointSize(30.0f); //【绘制一个点】 ccDrawPoint(ccp(size.width/2,size.height/2)); //【绘制一个○】 ccDrawCircle(ccp(size.width*0.5,size.height*0.5),50,CC_DEGREES_TO_RADIANS(270),30,true); //【绘制多边形】 ccDrawColor4B(0,255,0,255); glLineWidth(5); CCPoint vertices[] = {ccp(70,150),ccp(150,150),ccp(150,200),ccp(190,300)}; ccDrawPoly(vertices,4,true); //【绘制填充的多边形】 CCPoint filledVertices[] = {ccp(0,120),ccp(50,120),ccp(50,170),ccp(25,200),ccp(0,170)}; ccDrawSolidPoly(filledVertices,5,ccc4f(0.5f,0.5f,1,1)); //【绘制贝塞尔曲线】 ccDrawQuadBezier(ccp(0,size.height),ccp(size.width*0.5,size.height*0.5),ccp(size.width,size.height),50); //【绘制立体的贝塞尔曲线】 ccDrawCubicBezier(ccp(size.width/2,size.height/2),ccp(size.width/2+30,size.height/2+50),ccp(size.width/2+60,size.height/2-50),ccp(size.width,size.height/2),100); //【绘制填充矩形】 ccDrawSolidRect(ccp(240,50),ccp(300,10),ccc4f(255,177,177,255)); }
3.1.7 更新函数
scheduleUpdate() 函数 会调用 void update(float dt) 函数;
schedule 的作用与 scheduleUpdate() 函数相同,但是 scheduleUpdate() 默认每一帧都会调用 update() 函数, 而 schedule 则可以自定义调用更新函数的时间间隔。
schedule(SEL_SCHEDULE selector, float interval);
参数1:目标更新函数 参数2:刷新间隔(单位:秒)。
停止更新函数:
<1>.停止默认的 update() 更新函数
unscheduleUpdate();
<2>.停止自定义更新函数
unschedule(SEL_SCHEDULE selector);
<3>.停止所有更新函数
unscheduleAllSelectors();