创建一个可以在主画布或 createGraphics 实例上绘图的函数

问题描述 投票:0回答:1

所以,我需要一个函数来绘制一些东西,但是根据情况,我可能需要在主画布或 createGraphics 实例上绘制。

显然,以下方法有效,但我需要更简洁的方法,以绘制更复杂的绘图:

function drawEight(position, targetCanvas)  {
    let {x, y} = position;
    if (targetCanvas != undefined) {
        targetCanvas.circle(x, y-10, 20);
        targetCanvas.circle(x, y-30, 20);
    } else {
        circle(x, y-10, 20);
        circle(x, y-30, 20);
    }
}

我尝试将主画布分配给这样的变量:

mainCanvas = createCanvas(400,400);

然后将 mainCanvas 传递给函数:

drawEight({x:100,y:100}, mainCanvas);

我收到错误,因为画布实例缺少绘图方法...

有办法实现我需要的还是我应该放弃?

p5.js
1个回答
0
投票

所以,显然,我只需要将 Window 对象(this)传递给函数...

© www.soinside.com 2019 - 2024. All rights reserved.