Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在原型中使用createVector?_Javascript_P5.js - Fatal编程技术网

Javascript 如何在原型中使用createVector?

Javascript 如何在原型中使用createVector?,javascript,p5.js,Javascript,P5.js,运行printX()时,出现以下错误: 未捕获引用错误:未定义createVector 在新超类 在原型中使用createVector()是否可以实现这一点 为什么我不能在setup()之前使用p5函数和变量分配变量 从技术上讲,您可以使用按需全局模式。但这是p5的一个不太常见的用法,所以我们将在后面解释,并首先讨论更常见的情况。在常规全局模式下,p5变量和函数名在setup()、draw()、mousePressed()等外部不可用(除非它们放在由这些方法之一调用的函数中)。这意味着在setu

运行
printX()
时,出现以下错误:

未捕获引用错误:未定义createVector 在新超类

在原型中使用
createVector()
是否可以实现这一点

为什么我不能在setup()之前使用p5函数和变量分配变量

从技术上讲,您可以使用按需全局模式。但这是p5的一个不太常见的用法,所以我们将在后面解释,并首先讨论更常见的情况。在常规全局模式下,p5变量和函数名在setup()、draw()、mousePressed()等外部不可用(除非它们放在由这些方法之一调用的函数中)。这意味着在setup()之前声明变量时,需要在setup()内为它们赋值如果您希望使用p5函数

解决方案本身也在常见问题解答中:

我们前面提到了按需全局模式。当您正在构建一个使用其他库的程序,并且希望控制p5如何与其他库一起加载到页面上时,此模式最为有用。你可以阅读更多关于它的内容。但按需全局模式的另一个有趣用途是能够显式调用p5,然后在setup()之外使用p5函数。下面是一个例子:

你能发布一个你想做的事情吗?更好的是,您可以发布JSFIDLE或CodePen吗?
function Childclass(){
  this.printX = function(){
    print(this.vector.y);
  }
}

function Superclass(){
  this.vector = createVector(1,2);
}

Childclass.prototype = new Superclass();
new p5();

var boop = random(100);

function setup() {
    createCanvas(100, 100);
}

function draw() {
    background(255, 0, boop);
}