cocos绘画(cc.DrawNode的使用)

if (this._underLine) {
    this._underLine.clear();
}
else
    this._underLine = cc.DrawNode.create().addToEx(this);

var lineColor = this._label.getColor();
lineColor = lineColor.a === undefined ? cc.c4b(lineColor.r, lineColor.g, lineColor.b, 255) : lineColor;
var labelSize = this._label.getContentSize();
var labelPos = this._label.getPosition();

var y = labelPos.y - labelSize.height / 2;
var start = cc.p(labelPos.x - labelSize.width / 2, y);
var end = cc.p(labelPos.x + labelSize.width / 2, y);

// 两个点确定一条线段
this._underLine.drawSegment(start, end, 1, lineColor);

绘制矩形:drawRect

        //创建draw对象
        var drawNode =new cc.DrawNode();
        //绘制矩形,参数:坐标,大小,填充颜色,边框大小,边框颜色
        drawNode.drawRect(cc.p(0,0),cc.p(300,300),cc.color(),5,cc.color(255,255,0,255));
        //加入Layer层 
        this.addChild(drawNode);

 

绘制圆形:drawCircle

        //创建draw对象
        var drawNode =new cc.DrawNode();
        //圆形,参数:原点,半径,弧度,分段(越大越接近圆),原点到弧度的线是否显示,线条宽度,颜色
        drawNode.drawCircle(cc.p(200, 200), 50, 0, 50, false, 2, cc.color(0, 255, 0, 255));
        //加入Layer层 
        this.addChild(drawNode);

画圆点:drawDot

        //创建draw对象
        var drawNode =new cc.DrawNode();
        //画点,参数:坐标,半径, 颜色
        drawNode.drawDot(cc.p(100,100),10,cc.color(255,255,255));
        //加入Layer层 
        this.addChild(drawNode);

绘制直线:drawSegment

        //创建draw对象
        var drawNode =new cc.DrawNode();
        //线,参数:起点,终点,线条宽度,线条颜色
        drawNode.drawSegment(cc.p(0, 0), cc.p(200,300), 1, cc.color(255, 0, 255, 255));
        //加入Layer层 
        this.addChild(drawNode);

绘制曲线:drawCardinalSpline

        //创建draw对象
        var drawNode =new cc.DrawNode();
        var vertices = [cc.p(60, 80), cc.p(60, 300), cc.p(300, 60)];
        //曲线,参数:点数组,张力,段落,线条宽度,颜色
        drawNode.drawCardinalSpline(vertices, 0.5,4,2,cc.color(255, 255, 255, 255));
        //加入Layer层 
        this.addChild(drawNode);

 

posted @ 2022-04-12 09:25  一个新星的诞生  阅读(65)  评论(0)    收藏  举报