DrawNode *drawNode=DrawNode::create();
addChild(drawNode);
// 画像素点(方点) 位置、尺寸、颜色
drawNode->drawPoint(Vec2(50, 50), 15, Color4F(1, 0, 0, 1));
// 画圆点 (圆点) 位置、半径、颜色
drawNode->drawDot(Vec2(100, 50), 20, Color4F(1, 0, 0, 1));
// 画线段 起点、终点、半线宽、颜色
drawNode->drawSegment(Vec2(50, 300), Vec2(50, 150), 3.0, Color4F(1, 0, 0, 1));
// 画直线 起点、终点、颜色
drawNode->drawLine(Vec2(200, 200), Vec2(900, 300), Color4F(1, 0, 0, 1));
// 画三角形 三个点、颜色
drawNode->drawTriangle(Vec2(100, 100), Vec2(200, 100), Vec2(150, 200), Color4F::MAGENTA);
// 画多边形 点组数、点个数、填充色、轮廓线宽、轮廓颜色
Vec2 vecs[]={
Vec2(200, 200),
Vec2(250, 200),
Vec2(300, 250),
Vec2(250, 300),
Vec2(200, 250)
};
drawNode->drawPolygon(vecs, 5, Color4F(1, 0, 0, 1), 2, Color4F(0, 1, 0, 1));
// 画矩形
drawNode->drawRect(Vec2(400, 200), Vec2(400, 400), Vec2(600, 400), Vec2(600, 200), Color4F(1, 0, 0, 1));// 四个点、颜色
drawNode->drawRect(Vec2(400, 500), Vec2(600, 550), Color4F::BLUE);// 两个对角点、颜色
// 画圆
// drawCircle(const Vec2& center, float radius, float angle, unsigned int segments, bool drawLineToCenter, float scaleX, float scaleY, const Color4F &color)
// 圆心、半径、旋转角度、线段个数、是否显示中心线、X轴放缩、Y轴放缩、颜色
drawNode->drawCircle(Vec2(700, 150), 100.0, 0.0, 5, true, 1.0f, 1.0f, Color4F::ORANGE);
// 清除画出的图形
drawNode->clear();
这篇博客详细介绍了如何使用Cocos2d-x的DrawNode类进行图形绘制,包括点、线段、直线、三角形、多边形、矩形、圆等,并提供了具体的代码示例。

被折叠的 条评论
为什么被折叠?



