Cocos2dx3.0画线

定义这样一个类class cMapUplayer:public Layer

void cMapUplayer::draw(Renderer *renderer, const kmMat4& transform, bool transformUpdated)
{
Node::draw(renderer,transform,transformUpdated);

glLineWidth(10.0f);//线条宽度
DrawPrimitives::setDrawColor4B(255,0,0,255);//颜色
DrawPrimitives::drawLine(ccp(0,0),ccp(200,200));//绘制左中到右中

}

重载draw画线

m_pMapSprite->setPosition(100, 100);
this->addChild(m_pMapSprite, 0);

Layer* ptemp = cMapUplayer::create();
m_pMapSprite->addChild(ptemp,10);

m_pMapSprite是一个Sprite

发现线条被Sprite的图片挡住

哎,同样求解,之前有人说是由于绘制直线这类zorder是为0的,修改也没有用,要把sprite的zorder修改到负数,3.1.1试过无效啊~

哎呀,我就纳闷了,这特么新版本的渲染怎么这么恶心了呢,愁死我了,就这么个小问题,憋了好几天了,设置zorder无效啊,这可咋整啊

我也试过设置zorder,都不见效,后来用NodeDraw,就能画在上面了,而且很方便。

CMaplayer继承Sprite图片也在CMaplayer然后重载draw
画的线就在图片上了

不是NodeDraw,是DrawNode,