3.16 draw 3.17 更新函数

 

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();

posted @ 2013-12-04 23:47  解放1949  阅读(301)  评论(0编辑  收藏  举报