【问题标题】:how to change filter with key pressed function?如何使用按键功能更改过滤器?
【发布时间】:2022-08-20 12:31:20
【问题描述】:

我正在创建一个基于鼠标的画家应用程序。 这是画笔的代码,其颜色由 p5js 中的颜色选择器选择。 我想要的只是=当我按[T]键时,它应该变成THRESHOLD过滤器 我把这段代码放在这里:

if (key === \'T\') 过滤器(THRESHOLD);

但它不起作用我很好奇为什么它不起作用:) 有没有人可以帮助我thanx https://editor.p5js.org/kiskl/sketches/cFGX_xUWE


const sketch = function(p) {

  let colorPicker;
  let brushSize = 20;
  
  p.setup = function() {
    p.createCanvas(800, 800);
    colorPicker = p.createColorPicker(\'red\');
    colorPicker.position(0, 0);
  };



  p.keyPressed = function(e) {

    let key = e.key;
    if (key === \'=\') brushSize += brushSize * 0.1;
    else if (key === \'-\') brushSize -= brushSize * 0.1;
    else if (key === \'c\') p.clear();
    
    else if (key === \'T\') filter(THRESHOLD); //Here, why isn\'t it working?
    else if (key === \'I\') filter(INVERT);
    else if (key === \'P\') filter(POSTERIZE);
  }

  p.mouseDragged = function(e) {
    color = colorPicker.color()
    p.fill(color);
    p.stroke(color);
    p.ellipse(e.clientX, e.clientY, brushSize, brushSize)
  } };

let myp5 = new p5(sketch);
  • 你在哪里声明filter() 函数?我看到您在顶部声明了var = fliter。如果是这样,那可能是笔误
  • 我可能错了,但我认为如果您尝试使用If..else if..else 声明,也许看看这个developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • 谢谢@JuJu,,!!我修复了它,哈哈,但它仍然无法正常工作,哈哈,我会读 urs,thanx!
  • 你能解释一下你想用filter函数做什么吗?应该是函数吧?但我看到你用var filter 将它声明为一个变量
  • 换句话说:p.filter(p.THRESHOLD);

标签: javascript html css filter keypress


【解决方案1】:

您需要确保为每个过滤器编写p.filter(p.THRESHOLD)。另外,不要忘记字母区分大小写。

【讨论】:

    猜你喜欢
    • 2016-01-04
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 2016-10-18
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多