填充未定义



所以我正在使用p5.js制作游戏。通过这个游戏,我制造了一个障碍物,它会从画布顶部掉下来。我已经应用了fill工具来为我的障碍物着色。我也为玩家使用了这个。在我制作障碍物之前,没有错误,但是我收到并错误地说

Uncaught ReferenceError: fill is not defined
    at new obstacle (script.js:22)
    at script.js:27
function obstacle() {
    this.x = xPositions;
    this.y = yPositions;
    this.diameter = 15;
    fill(209, 144, 4);
    this.display2 = function() {
        ellipse(this.x, this.y, this.diameter, this.diameter);
    };
}    
var asteroid = new obstacle();
asteroid.display2();

我猜这条线在任何函数之外:

var asteroid = new obstacle();

这意味着这是在调用setup()函数之前发生的。这是不行的。阅读此处了解更多信息:为什么我不能在 setup(( 之前使用 p5 函数和变量分配变量?

基本上,在调用 setup() 之前,您不能使用 P5.js 函数,因为 P5.js 库尚未加载。

换句话说,将初始化移动到 setup() 函数内部。请注意,声明仍然可以在外部,如下所示:

var asteroid;
function setup(){
  asteroid = new Obstacle();
}

但退一步说,无论如何在构造函数中调用 fill() 函数都没有意义,因为当您第一次实例化对象时,不应绘制任何内容。您可能希望将其移动到 Obstacle 对象内的 display() 函数内。

如果您仍然无法使其正常工作,请在新的问题帖子中发布MCVE,我们将从那里开始。祝你好运。

最新更新