其他分享
首页 > 其他分享> > 在实例模式下使用p5.js时为什么未定义常量?

在实例模式下使用p5.js时为什么未定义常量?

作者:互联网

我可能在这里错过了非常明显的东西.我可以在全局模式下使用p5.js并为textAlign使用常量没有问题,例如中央.

这是可以正常工作的全局模式代码:

function setup() {
  var canvas = createCanvas(720, 400);  
  canvas.parent('main_canvas');
};

function draw() { 
  textSize(32);
  textAlign(CENTER);
  text("word", 50, 50);
};

但是,当我尝试在实例模式下使用CENTER时,会得到:

Uncaught ReferenceError: CENTER is not defined:

这是失败的实例模式代码:

var s = function (p) {
  p.setup = function() {
    p.createCanvas(720, 400);
  };

  p.draw = function() {
    p.textSize(32);
    p.textAlign(CENTER);
    p.text("word", 50, 50);
  };
};
var myp5 = new p5(s,'main_canvas');

关于我在这里缺少什么的任何想法?

解决方法:

在全局模式下,所有P5.js函数和变量都添加到全局名称空间中.在实例模式下,所有P5.js函数和变量都添加到传递到素描函数的变量中(在您的情况下为p变量).

要使用CENTER变量,您必须通过p变量来实现.

换句话说,您需要这样做:

p.textAlign(p.CENTER);

您还必须使用其他变量(例如mouseX和mouseY)来执行此操作.

标签:p5-js,javascript
来源: https://codeday.me/bug/20191118/2025435.html