填充未定义

时间:2018-01-23 02:44:37

标签: javascript html css p5.js

所以我正在使用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();

1 个答案:

答案 0 :(得分:0)

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

var asteroid = new obstacle();

这意味着在调用setup()函数之前正在发生这种情况。这是禁忌。请阅读此处了解更多信息:Why can't I assign variables using p5 functions and variables before setup()?

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

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

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

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

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