将旧项目基于cocos2dx 2.x的调试绘制转移到cocos2dx 3.x中
发布时间:2020-12-14 16:54:14 所属栏目:百科 来源:网络整理
导读:1、首先必须修改原先在draw函数中绘制渲染的方式。3.x不是直接调用draw函数进行绘制的,而是通过renderCommand进行延时渲染。 老项目的渲染方式-draw函数中调用 #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)g
1、首先必须修改原先在draw函数中绘制渲染的方式。3.x不是直接调用draw函数进行绘制的,而是通过renderCommand进行延时渲染。
老项目的渲染方式-draw函数中调用
#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) { _customCommand.init(_globalZOrder,transform,flags); _customCommand.func = CC_CALLBACK_0(SceneLayer::onDraw,this,flags); renderer->addCommand(&_customCommand); }
先将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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MTD(2)---nand flash的底层驱动代码分析
- oracle – 检查WHERE子句中的参数是否为NULL
- c# – 将字符串列表修改为只有3个长度的字符串(使用Linq)
- cocos2dx 3.3 pluginx tools文件夹分析
- 解决dubbox-demo-provider.xml报错的问题:提示Failed to r
- NoSql——redis(高级操作)
- Thinking in React Implemented by Reagent
- reactjs – 使用CSSTransitionGroup和Redux Connect的正确方
- 哪些图书馆在C中实现一个小型语言翻译是有用的?
- c – 可重定位多平台安装的理想cmake安装目录结构是什么?