在实例模式下使用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