我认为这段简单的代码的语法没有任何问题。但是只要我在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);
}
}
如果代码确实存在问题,我该如何更新?
答案 0 :(得分:2)
您缺少对this
的引用。
ellipse(this.pos.x, this.pos.y, 10 * this.mass, 10 * this.mass);
您在pos
上创建了mass
和this
,但没有它就引用了它。如上所示将其更改为可修复。