为什么在p5.js中没有setup()的情况下mousePressed()不能工作?

时间:2019-12-23 17:13:25

标签: mouseevent dom-events p5.js

在p5编辑器中,我试图创建一个不需要画布的简单示例,因此我删除了setup()和draw()函数。我意识到,至少没有调用setup()函数,mousePressed()才能工作。我可以注释掉createCanvas()和mousePressed()很好。为什么会这样?

var luckyNum;

function mousePressed(){
  luckyNum = int(random(0, 100));
  createP("Your lucky number is " + luckyNum + "!");
}

1 个答案:

答案 0 :(得分:0)

mousePressed()函数在没有draw()的情况下也可以正常工作,但确实需要setup()

这是一个例子:

function setup() {
  // empty
}

function mousePressed() {
  background(random(255));
}

我不确定为什么会这样。这可能与某些内部初始化有关,只有在p5.js检测到setup()函数时才会发生。

您可能会考虑切换到纯JavaScript,因为您似乎不需要很多p5功能。您可以将点击侦听器附加到页面的<body>并从此处创建一个<p>元素。