在 p5 sketch 中显示和隐藏图像
Showing and hiding images in p5 sketch
当 noseX 位置(使用网络摄像头和 ml5 poseNet 模型检测)到达 canvas 的特定部分(例如 noseX > 50)时,我正在 canvas 上绘制图像。但是,当 noseX 位置不在触发该特定图像出现的 canvas 区域时,我希望绘制的图像再次消失。同样的故事也适用于 noseX 位置指示器(黑色椭圆),它最终在 noseX 位置所在的位置绘制了一个 path/line,但我只是希望它是一个点,跟随 noseX 而不留下痕迹。
这是我的 p5 草图:https://editor.p5js.org/saskiasmith/sketches/Z57YsGRsH 非常感谢!
如果您在每个 draw() 循环的开头添加另一个调用 background() 函数,那么它将清除 canvas 每帧并获得您想要的效果
如果您考虑一下,您正在将这些图像和圆圈输出到屏幕上,但从未告诉屏幕清除,这就是每帧调用 background() 的结果
function draw() {
background(245); // <-- Here is the new background call
push();
translate(width, 100);
image(webcam, 0, 0, 0, 0);
pop()
let d = dist(noseX, noseY, eyelX, eyelY);
let pX = (noseX);
let pY = (noseY);
...
当 noseX 位置(使用网络摄像头和 ml5 poseNet 模型检测)到达 canvas 的特定部分(例如 noseX > 50)时,我正在 canvas 上绘制图像。但是,当 noseX 位置不在触发该特定图像出现的 canvas 区域时,我希望绘制的图像再次消失。同样的故事也适用于 noseX 位置指示器(黑色椭圆),它最终在 noseX 位置所在的位置绘制了一个 path/line,但我只是希望它是一个点,跟随 noseX 而不留下痕迹。 这是我的 p5 草图:https://editor.p5js.org/saskiasmith/sketches/Z57YsGRsH 非常感谢!
如果您在每个 draw() 循环的开头添加另一个调用 background() 函数,那么它将清除 canvas 每帧并获得您想要的效果
如果您考虑一下,您正在将这些图像和圆圈输出到屏幕上,但从未告诉屏幕清除,这就是每帧调用 background() 的结果
function draw() {
background(245); // <-- Here is the new background call
push();
translate(width, 100);
image(webcam, 0, 0, 0, 0);
pop()
let d = dist(noseX, noseY, eyelX, eyelY);
let pX = (noseX);
let pY = (noseY);
...