所以我正在使用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();
答案 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,我们将从那里开始。祝你好运。