cocos2d-x畫線


在class HelloWorld : public cocos2d::CCLayer中添加

void draw();

實現:

void HelloWorld::draw()
{

    CCSize s = CCDirector::sharedDirector()->getWinSize();
    CCPointArray *array = CCPointArray::create(20);

    array->addControlPoint(ccp(0, 0));
    array->addControlPoint(ccp(80, 80));
    array->addControlPoint(ccp(s.width - 80, 80));
    array->addControlPoint(ccp(s.width - 80, s.height - 80));
    array->addControlPoint(ccp(80, s.height - 80));
    array->addControlPoint(ccp(80, 80));
    array->addControlPoint(ccp(s.width / 2, s.height / 2));


    CCPointArray *array2 = CCPointArray::create(20);

    array2->addControlPoint(ccp(s.width / 2, 30));
    array2->addControlPoint(ccp(s.width  -80, 30));
    array2->addControlPoint(ccp(s.width - 80, s.height - 80));
    array2->addControlPoint(ccp(s.width / 2, s.height - 80));
    array2->addControlPoint(ccp(s.width / 2, 30));
                //個人理解是初始化用來存放點的棧
    kmGLPushMatrix();
                //定義棧的大小
    kmGLTranslatef(50, 50, 0);
                //繪制曲線
    ccDrawCatmullRom(array, 50);
                //繪制完后彈出所存放的點
    kmGLPopMatrix();
                //由於上面只是彈出並不是釋放,所以仍然可以通過點棧來繪制曲線
    ccDrawCatmullRom(array2,50);
}

 

然后直接運行就可以了

補充:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM