p5.js 手动调用设置和绘制
p5.js manually call setup and draw
我正在用 p5.js 制作在线游戏,我想手动调用设置,一旦调用设置,我希望 draw() 到 运行。
例如,如果我点击一个按钮:
<button id="somebutton" onclick="setup()">CLICK ME!!!</button>
然后 canvas 将被创建并且设置中的所有内容将是 运行 并且 draw() 将 运行.
你为什么要这样做?
处理需要做很多与调用 setup()
函数相关的事情,因此您几乎没有理由手动调用它。
使用变量
如果您希望在单击按钮之前不开始草图,您应该与 setup()
函数分开进行。您可以跟踪 boolean
告诉 Processing 是否开始草图,然后在单击按钮时设置 boolean
。像这样:
var started = false;
function setup(){
createCanvas(windowWidth, windowHeight);
noLoop();
}
function draw(){
if(started){
//your code here
}
}
function start(){
started = true;
loop();
}
那么在您的 html 中,您将拥有:
<button id="somebutton" onclick="start()">CLICK ME!!!</button>
使用实例模式
您还可以使用 instance mode 来延迟草图的创建。像这样:
function startSketch(){
var sketch = function( p ) {
var x = 100;
var y = 100;
p.setup = function() {
p.createCanvas(700, 410);
};
p.draw = function() {
p.background(0);
p.fill(255);
p.rect(x,y,50,50);
};
};
var myp5 = new p5(sketch);
}
那么在您的 html 中,您将拥有:
<button id="somebutton" onclick="startSketch()">CLICK ME!!!</button>
我正在用 p5.js 制作在线游戏,我想手动调用设置,一旦调用设置,我希望 draw() 到 运行。
例如,如果我点击一个按钮:
<button id="somebutton" onclick="setup()">CLICK ME!!!</button>
然后 canvas 将被创建并且设置中的所有内容将是 运行 并且 draw() 将 运行.
你为什么要这样做?
处理需要做很多与调用 setup()
函数相关的事情,因此您几乎没有理由手动调用它。
使用变量
如果您希望在单击按钮之前不开始草图,您应该与 setup()
函数分开进行。您可以跟踪 boolean
告诉 Processing 是否开始草图,然后在单击按钮时设置 boolean
。像这样:
var started = false;
function setup(){
createCanvas(windowWidth, windowHeight);
noLoop();
}
function draw(){
if(started){
//your code here
}
}
function start(){
started = true;
loop();
}
那么在您的 html 中,您将拥有:
<button id="somebutton" onclick="start()">CLICK ME!!!</button>
使用实例模式
您还可以使用 instance mode 来延迟草图的创建。像这样:
function startSketch(){
var sketch = function( p ) {
var x = 100;
var y = 100;
p.setup = function() {
p.createCanvas(700, 410);
};
p.draw = function() {
p.background(0);
p.fill(255);
p.rect(x,y,50,50);
};
};
var myp5 = new p5(sketch);
}
那么在您的 html 中,您将拥有:
<button id="somebutton" onclick="startSketch()">CLICK ME!!!</button>