绘制——如何在cocos中画画
2016-03-28 16:03
696 查看
CustomCommand _customCommand;
再重载void draw(Renderer*
renderer, const
Mat4 &transform,
uint32_t flags)
{ /* 初始化一个命令参数 */
_customCommand.init(_globalZOrder,transform, flags);
_customCommand.func =CC_CALLBACK_0(T020305Draw::onDraw,
this, transform,flags);
/* 发送给renderer对象 */
renderer->addCommand(&_customCommand);}
然后设置回调函数void onDraw(const
Mat4& transform,
uint32_t flags)
{ glLineWidth(5); //设置现宽
DrawPrimitives::setDrawColor4F(1, 0, 0,1); //颜色
DrawPrimitives::setPointSize(5);
DrawPrimitives::drawLine(Vec2(0, 0),
Vec2(100, 100)); //画线
DrawPrimitives::drawCircle(Vec2(200, 200), 100,1.0f, 100,
true); //画圆}
但是,DrawPrimitives是已经废弃的方式,故这个在以后就不能用了(这里我们只是举个例子聊聊)。
新的方法:用DrawNode
DrawNode* node =
DrawNode::create();
addChild(node);
node->drawLine(Vec2(0, 0),
Vec2(100, 100),
Color4F::RED); //参数为:起始点,结束点,颜色
node->drawCircle(Vec2(200, 200), 100,1.0f, 100,
true, Color4F::GREEN); //参数为:圆心,半径,圆的旋转角度(弧度表示,360度=π),由几个线段组成(线段越多则锯齿越少),需不需要一条圆心到边的线段(旋转角度为0时是一条水平的由圆心到右半扇的线段),颜色。
相关文章推荐
- Cocos节点
- Cocos缓存的实现
- Cocos精灵帧缓存
- Cocos纹理缓存
- 【cocos2d-x制作别踩白块儿】第一期:游戏介绍
- cocos2dx3.3 CCNotificationCenter观察者模式
- [Cocos2d-x v3.x官方文档]精灵帧缓存(SpriteFrameCache)
- Cocos2d-x LoadingBar(进度条)的使用
- cocos2d-x触摸事件优先级的探究与实践
- [Cocos2d-x v3.x官方文档]纹理缓存
- Cocos2d-x 3.2 打包Android平台APK
- Cocos 资料大全 下载链接地址
- 总结Cocos2d-x 3.0 中新字体标签Label
- 骨骼动画详解-Cocos Studio
- cocos2d-x中的plist文件格式详解
- Cocos2d 3.0继承自Sprite的类在addChild后出现故障
- cocos2d-x 3D shader的纹理坐标是上下颠倒的
- cocos2d-x3.9 NDK android 环境搭建过程中遇到的错误
- 菜鸟学习Cocos2d-x 3.x——浅谈事件处理机制
- cocos2d-x 事件分发机制 ——加速计事件监听