function Childclass(){
this.printX = function(){
print(this.vector.y);
}
}
function Superclass(){
this.vector = createVector(1,2);
}
Childclass.prototype = new Superclass();
运行printX()
时出现以下错误:
未捕获的ReferenceError:未定义createVector 在新的超类
这可能是在原型中使用createVector()
吗?
答案 0 :(得分:1)
来自p5 FAQ:
为什么我不能在setup()之前使用p5函数和变量分配变量?
从技术上讲,您可以使用按需全局模式。但这是p5的一种不太常见的用法,所以我们稍后会解释一下,先讨论更常见的情况。在常规全局模式下,p5变量和函数名称在setup(),draw(),mousePressed()等之外不可用(除非它们放在由这些方法之一调用的函数内。)这意味着当在setup()之前声明变量时,如果你想使用p5函数,你需要在setup()中分配它们。
解决方案本身也在FAQ中:
我们之前提到了按需全局模式。当您构建使用其他库的程序并且想要控制p5如何在页面上加载其他库时,此模式最有用。您可以阅读更多相关信息here。但是,按需全局模式的另一个有趣用途是能够显式调用p5然后在setup()之外使用p5函数。这是一个例子:
new p5();
var boop = random(100);
function setup() {
createCanvas(100, 100);
}
function draw() {
background(255, 0, boop);
}