【发布时间】:2014-04-28 06:11:36
【问题描述】:
我正在使用 cocos2d-x v3.0 并且在一些测试项目中我正在通过覆盖 Node 的 draw 方法进行一些自定义绘图,但在 DrawPrimitives 示例中,只要他们执行以下操作:
void DrawPrimitivesTest::draw()
{
_customCommand.init(_globalZOrder);
_customCommand.func = CC_CALLBACK_0(DrawPrimitivesTest::onDraw, this);
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
}
void DrawPrimitivesTest::onDraw()
{
// drawing code here, why?
}
从读取头文件和源文件看来,这可能是直接向渲染器发送渲染命令的某种方式,对吗?
我应该使用这种方法进行自定义绘图吗? draw 和 onDraw 有什么区别?
编辑:
正如@Pedro Soares 提到的,从 Cocos2D-X 3.0 开始,您不能再覆盖 draw()。你必须改用draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)。
【问题讨论】: