在p5.js在线编辑器中调用对象函数时出现问题:“脚本错误。(:第0行)”

时间:2019-04-20 10:43:18

标签: javascript processing p5.js

我认为这段简单的代码的语法没有任何问题。但是只要我在generator.display();函数中调用draw,就会弹出一条错误消息:“脚本错误。(:第0行)”。

您可以在此处查看并运行代码:https://editor.p5js.org/huskyspeaks/sketches/-dN7ZQ9pg

您可能会发现(假设在线编辑器没有问题),删除generator.display();将删除该错误。但是我真的不明白为什么会这样。我认为此简单框架的编码方式没有任何问题。

var generator;

function setup() {
  createCanvas(400, 640);
  generator = new Generator(width / 2, height / 2, 4);
}


function draw() {
  background(55);
  generator.display();
}

var Generator = function(x, y, m) {
  this.pos = createVector(x, y);
  this.mass = m;

  this.display = function() {
    ellipse(pos.x, pos.y, 10 * mass, 10 * mass);
  }
}

如果代码确实存在问题,我该如何更新?

1 个答案:

答案 0 :(得分:2)

您缺少对this的引用。

ellipse(this.pos.x, this.pos.y, 10 * this.mass, 10 * this.mass);

您在pos上创建了massthis,但没有它就引用了它。如上所示将其更改为可修复。