cocos2d-x-3.2 (一)两种方法画基本图形

来源:互联网 发布:深圳益讯网络 编辑:程序博客网 时间:2024/04/30 22:06
1:

    auto s =Director::getInstance()->getWinSize();

   auto draw = DrawNode::create();

   this->addChild(draw);

   for (int i =0; i < 10; i++) {

        draw->drawDot(Vec2(s.width*0.5,s.height*0.5),10*(10-i), Color4F(CCRANDOM_0_1(),CCRANDOM_0_1(), CCRANDOM_0_1(),1));

    }

2:

voidHelloWorld::draw(Renderer *renderer,const Mat4 &transform,uint32_t flags)

{

    _customCommand.init(1);

   _customCommand.func =CC_CALLBACK_0(HelloWorld::onDraw,this,transform,flags);

    renderer->addCommand(&_customCommand);

}


voidHelloWorld::onDraw(constMat4 &transform, uint32_t flags)

{

    Director::getInstance()->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);

   Director::getInstance()->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, transform);

   //直线

    CHECK_GL_ERROR_DEBUG();

    glLineWidth(5.0f);

    DrawPrimitives::setDrawColor4B(255,0,0,255);

    DrawPrimitives::drawLine(VisibleRect::leftBottom(),VisibleRect::rightTop());

    

    Director::getInstance()->popMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);

}


0 0
原创粉丝点击