大佬教程收集整理的这篇文章主要介绍了将旧项目基于cocos2dx 2.x的调试绘制转移到cocos2dx 3.x中,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) glLineWidth(2.0f); //glEnable(GL_LINE_WIDTH); #else glLineWidth(2.0f); glEnable(GL_LINE_SMOOTH); #endif ccDrawColor4F(1.0f,1.0f,0.5f); BattleTerrain *terrain = BattleScene::getCurrentScene()->getTerrain(); if(!terrain) return; for (int i = 0; i < terrain->getWidth(); ++i) { GridPosition down = GridPosition(i,0); GridPosition up = GridPosition(i,BattleScene::getCurrentScene()->getTerrain()->getHeight()); CCPoint downPoint = ccp(GridUtil::sharedGridUtil().gridEdgeToPix(down).x,GridUtil::sharedGridUtil().gridEdgeToPix(down).y); CCPoint upPoint = ccp(GridUtil::sharedGridUtil().gridEdgeToPix(up).x,GridUtil::sharedGridUtil().gridEdgeToPix(up).y); ccDrawLine(downPoint,upPoint); }
新项目的方式,重写新的draw函数,在onDraw中绘制
void SceneLayer::draw(Renderer *renderer,const Mat4& transform,uint32_t flags) { _customcatommand.init(_globalZOrder,transform,flags); _customcatommand.func = CC_CALLBACK_0(SceneLayer::onDraw,this,flags); renderer->addCommand(&_customcatommand); }
先将drawNode节点添加到父节点中
_drawNode = CCDrawNode::create(); addChild(_drawNodE);
_drawNode->clear();
_drawNode->clear(); for (int i = 0; i < terrain->getWidth(); ++i) { GridPosition down = GridPosition(i,GridUtil::sharedGridUtil().gridEdgeToPix(up).y); _drawNode->drawLine(downPoint,upPoint,ccColor4F(1.0f,0.5f)); //ccDrawLine(downPoint,upPoint); }
以上是大佬教程为你收集整理的将旧项目基于cocos2dx 2.x的调试绘制转移到cocos2dx 3.x中全部内容,希望文章能够帮你解决将旧项目基于cocos2dx 2.x的调试绘制转移到cocos2dx 3.x中所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。