所以,我需要一个函数来绘制一些东西,但是根据情况,我可能需要在主画布或 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);
我收到错误,因为画布实例缺少绘图方法...
有办法实现我需要的还是我应该放弃?
所以,显然,我只需要将 Window 对象(this)传递给函数...