Cocos2d-x 3.0 CCLayer 中的 draw函数被加了final 无法复写,请问在3.0中该使用什么方法可以替代?谢谢!
请问楼主的问题解决了吗?
这个函数在3.0版本好像不被使用了,有一个替代的draw!
你解决了吗?
3.0版本之后原来不带参数的draw()改为了final,无法重写,可以用重写下面这个带参数的draw
virtual void draw(Renderer *renderer, const Mat4& transform, bool transformUpdated); ```
3.0版本之后原来不带参数的draw()改为了final,无法重写使用,可以用重写下面这个带参数的draw
virtual void draw(Renderer *renderer, const Mat4& transform, bool transformUpdated); ```
恩,我也重写了那个函数,但是会被背景挡住draw 的东西,就算背景设置优先级-1 还是会挡住。。请问有方法吗?
用DrawNode来实现你的绘制吧,这个不会被覆盖
真的只能这样了么、、、哎哎。。又要修改一大批代码
我用的3.2alpha版本,使用的drawnode来绘制还是会被挡住啊。。。可以告诉我具体方法吗
void CInputBox::draw(Renderer *renderer, const Mat4& transform, uint32_t flags)
{
Node::draw(renderer,transform,flags);
m_customCommand.init(1.0f);
m_customCommand.func = CC_CALLBACK_0(CInputBox::onDraw, this, transform, flags);
renderer->addCommand(&m_customCommand);
}
void CInputBox::onDraw( const Mat4 &transform, uint32_t flags )
{
}
在onDraw()里写你的Draw代码就不会被挡住了。