customSprite* customSprite::createCustom(const char* fileName) { customSprite* sp = new customSprite(); if(sp && sp->initWithFile(fileName)){ //sp->setPosition(ccp(100,100)); sp->autorelease(); return sp; } CC_SAFE_DELETE(sp); return NULL; } void customSprite::draw() { //cocos2d::CCSprite::draw(); for ( int i = 10; i <= 100; i++) { CCLog("customDraw!!!!!!! %d,%d",i,i); ccDrawLine( ccp( i,100 ), ccp( i, 500 ) ); } } ``` lua 无法重载draw之后, 我就自定义一个sprite ,让lua使用, 但是ccDrawLine 却无法画出线条, 打印是有的. 是不要还要写什么代码开启什么?
奇怪了, 我创建一个移动动作之后, 他又可以显示了…
究竟是什么问题呢
//cocos2d::CCSprite::draw();
父类里 实现了,所以你不能忽略掉 父类的draw方法,这句话必须调用
谢谢回复, 父类的draw写不写, 就关系着原来的东西能否画出…
就算我加上, 我的drawline也是无法显示哟…
cocos这个烂引擎,到3.4都没解决这问题, 早晚被unity干掉
根本就不是这样用的好伐~~
渲染必须提交到渲染队列去渲染,而不是直接draw,直接draw层级就混乱了,要画线条简单点,直接用DrawNode算了~