Graphics 组件参考

Graphics 组件提供了一系列绘画接口,这些接口参考了 Canvas 的绘画接口来进行实现。

新建一个空节点,然后点击 属性检查器 下方的 添加组件 按钮,从 UI/Render 中选择 Graphics,即可添加 Graphics 组件到节点上。

Graphics 脚本接口请参考 Graphics API

关于使用可以参考 test-cases-3d 里的 graphics 相关。

绘图属性

属性 功能说明
FillColor 设置或返回填充绘画的颜色
LineCap 设置或返回线条的结束端点样式
LineJoin 设置或返回两条线相交时,所创建的拐角类型
MiterLimit 设置或返回最大斜接长度
StrokeColor 设置或返回笔触的颜色
LineWidth 设置或返回当前的线条宽度

绘图接口

路径

方法 功能说明
moveTo (x, y) 把路径移动到画布中的指定点,不创建线条
lineTo (x, y) 添加一个新点,然后在画布中创建从该点到最后指定点的线条
bezierCurveTo (c1x, c1y, c2x, c2y, x, y) 创建三次方贝塞尔曲线
quadraticCurveTo (cx, cy, x, y) 创建二次贝塞尔曲线
arc (cx, cy, r, a0, a1, counterclockwise) 创建弧/曲线(用于创建圆形或部分圆)
ellipse (cx, cy, rx, ry) 创建椭圆
circle (cx, cy, r) 创建圆形
rect (x, y, w, h) 创建矩形
close () 创建从当前点回到起始点的路径
stroke () 绘制已定义的路径
fill () 填充当前绘图(路径)
clear () 清除所有路径

通过脚本代码设置绘制图案

import { _decorator, Component, Graphics } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('Example')
export class Example extends Component {
    start () {
        const g = this.getComponent(Graphics);
        g.lineWidth = 10;
        g.fillColor.fromHEX('#ff0000');
        g.moveTo(-40, 0);
        g.lineTo(0, -80);
        g.lineTo(40, 0);
        g.lineTo(0, 80);
        g.close();
        g.stroke();
        g.fill();
    }
}

results matching ""

    No results matching ""