微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不污染全局范围的情况下使用 p5.js?

如何解决如何在不污染全局范围的情况下使用 p5.js?

我正在尝试将我为 processing.js 编写的一些代码转换为使用 p5.js。在现有代码中,我使用 processing = new Processing(canvas,p => (p.draw = draw_frame)) 之类的语句创建了一个对象,其中画布在 HTML 中定义为 <canvas id="canvas"></canvas>,并且任何处理函数属性都附加到处理对象上。例如,要绘制一个三角形,我会编写类似 self.processing.triangle(...)代码。在 p5.js 中,所有通用函数似乎都是全局定义的。有没有办法以不污染全局范围的方式使用p5.js?

解决方法

听起来您正在寻找instance mode

以下是该页面的示例:

let myp5 = new p5(( sketch ) => {

  let x = 100;
  let y = 100;

  sketch.setup = () => {
    sketch.createCanvas(200,200);
  };

  sketch.draw = () => {
    sketch.background(0);
    sketch.fill(255);
    sketch.rect(x,y,50,50);
  };
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。