为什么在实例模式下使用p5.js时没有定义常量?
Why are constants not defined when using p5.js in instance mode?
我可能在这里遗漏了一些非常明显的东西。我可以在全局模式下使用p5.js,并为texttalign使用常量,没有问题,例如CENTER.
这里是全局模式代码,它工作得很好:
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函数和变量都被添加到传递给sketch函数的变量中(在您的例子中,是您的p
变量)。
要使用CENTER
变量,您必须通过p
变量获得它。
换句话说,您需要这样做:
p.textAlign(p.CENTER);
您还必须对其他变量(如mouseX
和mouseY
)执行此操作。
相关文章:
- 使用在子模块内部的父模块上定义的常量's配置
- 将常量或变量的值定义为不带赋值的常量或变量名称
- 在 ecma-script-6 中将对象定义为常量
- 在类构造函数 (ES6) 中定义常量
- 导入的常量未定义
- 如何在 javascript 中创建自定义对象的通用常量实例
- AngularJS module.constant() :如何仅在模块内定义常量
- 未定义的AngularJS常量不是对象
- 如何通过原型定义常量
- JavaScript:使用严格模式在try/catch中定义一个常量
- 常量在一个服务中未定义,但在另一个服务中有效
- 在angularjs中为常量定义函数
- 为什么在实例模式下使用p5.js时没有定义常量?
- 如何定义“常量”并在NodeJS中随处访问它
- 在es6类中为angular 1.5控制器定义常量
- 正在生成定义常量的JS代码,被认为是不好的做法
- NodeJs定义全局常量
- AngularJS常量没有定义
- HTML/CSS/JavaScript是否定义了表示系统主题颜色的常量
- “未定义的常量/变量”错误使用带有 Angular JS的 Laravel...无法在边栏选项卡中显示变量