cocos2x 3.x 绘图API
方案一:
使用DrawNode
auto draw1 = DrawNode :: create();
this ->addChild ( draw1);
draw1 ->drawDot ( Vec2( 10 , 10 ), 5 , Color4F ::GREEN );//一个坐标在(10,10) , 半径为5 ,颜色为 绿的圆;
draw1 ->drawSegment ( Vec2( 20 , 20 ), Vec2 (40 , 20 ), 5 , Color4F :: GRAY);//一个点在(20,20) 到点(40,20), 点上半径为5 ,颜色为 灰 的椭圆或者说是线段;
Vec2 polygon [] = { Vec2 (40 , 40 ), Vec2 ( 40, 50), Vec2( 50 , 60 ), Vec2 (50 , 30 ), Vec2 (45 , 30 ) };
draw1 ->drawPolygon ( polygon, 5, Color4F:: MAGENTA , 1 , Color4F :: GREEN);//5个坐标在数组polygon[]里的点 , 边界厚度为1 ,填充颜色为 粉的圆 边界颜色为 绿 的多边形;
draw1 ->drawTriangle ( Vec2( 100 , 100 ), Vec2 (200 , 100 ), Vec2 ( 150, 150), Color4F ::GREEN );//一个确定了三个点 ,颜色为 绿的的三角形;
this ->addChild ( draw1);
draw1 ->drawDot ( Vec2( 10 , 10 ), 5 , Color4F ::GREEN );//一个坐标在(10,10) , 半径为5 ,颜色为 绿的圆;
draw1 ->drawSegment ( Vec2( 20 , 20 ), Vec2 (40 , 20 ), 5 , Color4F :: GRAY);//一个点在(20,20) 到点(40,20), 点上半径为5 ,颜色为 灰 的椭圆或者说是线段;
Vec2 polygon [] = { Vec2 (40 , 40 ), Vec2 ( 40, 50), Vec2( 50 , 60 ), Vec2 (50 , 30 ), Vec2 (45 , 30 ) };
draw1 ->drawPolygon ( polygon, 5, Color4F:: MAGENTA , 1 , Color4F :: GREEN);//5个坐标在数组polygon[]里的点 , 边界厚度为1 ,填充颜色为 粉的圆 边界颜色为 绿 的多边形;
draw1 ->drawTriangle ( Vec2( 100 , 100 ), Vec2 (200 , 100 ), Vec2 ( 150, 150), Color4F ::GREEN );//一个确定了三个点 ,颜色为 绿的的三角形;
方案二:
重载draw方法(此方法本人认为有点复杂,远不如 drawnode简单,而且在绘制的时候会出想被Sprite挡住的现象,如果在今后出现了此方法的优势之处后再做说明)