切换处理代码中的键

时间:2017-10-31 01:37:52

标签: toggle processing

if (keyPressed) {
  if (key == 'r') {
    }
  }
}

void keyReleased() {
  if (key == 'r') { 
    stroke(random(0,255), random(0,255), random(0,255));
    line(mouseX, mouseY, pmouseX, pmouseY);
    }
}

我正在尝试创建一个函数,允许代码切换随机颜色,具体取决于我是否按'r'。我是在正确的道路上还是语法有问题?我尝试过布尔值,类类型和if语句。

2 个答案:

答案 0 :(得分:0)

我不完全确定你在问什么,但是here是一个关于在Processing中获取用户输入的教程。您还应该尝试break your problem down into smaller steps,然后逐个采取这些步骤。

例如,这是一个小示例程序,当您按下R键时会绘制一个随机颜色:

void draw(){}

void keyPressed(){
  if(key == 'r'){
   background(random(256), random(256), random(256)); 
  }
}

我建议你从这样一个小程序开始,只关注你问题的一小部分。然后,如果您遇到问题,可以发布MCVE以及特定的技术问题。祝你好运。

答案 1 :(得分:0)

我不确定我是否明白你要求的是什么。按r或R(baseColor和随机的)时,以下代码在2种颜色之间交换。

color currentColor;
color baseColor = color(0, 0, 0, 255);

void setup() {
    currentColor = baseColor;
    stroke(currentColor);
    size(600, 600);
}

void draw() {
    background(255, 255, 255, 255);
    line(width / 2, height / 2, mouseX, mouseY);
}

void keyReleased() {
    if(key == 'r' || key == 'R') { // key is case sensitive
        if(!(currentColor == baseColor))
            currentColor = baseColor;
        else
            currentColor = color(random(0, 255), random(0, 255), random(0, 255), random(0, 255)); // your color
        stroke(currentColor);
    }
}