Paint Program

Hey,

I am creating a paint program and am in need of some help with the buttons. I have a rectangular button drawn with;


boolean redbuttonpressed ;
int TypeIsRect ;

Void setup() {
size (400,400);
background (255) ; 
fill (255,0,0) ;
rect (379, 10, 20, 20) ;
}

void draw() {  
if (mousePressed){
stroke(0) ;  
line(mouseX,mouseY,pmouseX,pmouseY);
}
redbuttonpressed = false ;
}

if(mousePressed){
   if(redbuttonpressed){ 
      stroke(255,0,0);
  line(mouseX,mouseY,pmouseX,pmouseY);
  }
  }

but when I click on the rectangle the line remains black, why is that and how can I fix it? I tried commenting out the

stroke(0);

but that does not work, either.

«134

Answers

  • edited May 2015

    I took out the

    typeIsRect ;
    

    and the

    redbuttonpressed = false ;
    

    codes. That does not work either.

  • Answer ✓

    the principle is the same as in our other program

    use the function mousePressed() and not the var mousePressed

    check with if(mouseX > etc.

    if the mouse was pressed in your rect

    when it was so, store the color in a var to use later with the line

    • separate input of data - storage of data - and displaying stuff (using this data)

    ;-)

  • do you mean like this

     boolean redbuttonpressed ;
    int TypeIsRect ;
    
    Void setup() {
    size (400,400);
    background (255) ; 
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    }
    
    void draw() {  
    if (mousePressed){
    stroke(0) ;  
    line(mouseX,mouseY,pmouseX,pmouseY);
    }
    redbuttonpressed = false ;
    }
    
    void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
    }
      }
    
  • I have this code (with syntax error);

      boolean redbuttonpressed ;
    int TypeIsRect ;
    
    Void setup() {
    size (400,400);
    background (255) ; 
    }
    
    void draw() {  
    if (mousePressed){
    stroke(0) ;  
    line(mouseX,mouseY,pmouseX,pmouseY);
    }
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    redbuttonpressed = false ;
    }
    
    //if(mousePressed){
    if(redbuttonpressed){
    stroke(255,0,0);
    else
    stroke(0) ; 
     line(mouseX,mouseY,pmouseX,pmouseY);
      //}
      }
    
    void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
    }
      }
    
  • This is my new code (still with a syntax error...how do I get rid of this syntax error?)

    boolean redbuttonpressed ;
    
    void setup() {
    size (400,400);
    redbuttonpressed=false;
    background (255) ; 
    }
    
    void draw() {  
    if (mousePressed){
    line(mouseX,mouseY,pmouseX,pmouseY);
    }
    
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    
    if(redbuttonpressed){
    stroke(255,0,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    
    void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
    }
      }
    
  • edited May 2015

    right before

    void mousePressed() {

    a } is missing

  • why does the line keep following the mouse and not stop once the mouse is released?

  • almost there

    again use only one line in draw

    stroke must be before line to take effect

    ;-)

  • again use only one line in draw

    stroke must be before line to take effect

  • the line in draw() must be conditioned

    with mousePressed

  • Error: expected: ";"

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
    
    void setup() {
    size (400,400);
    redbuttonpressed=false ;
    whitebuttonpressed=false ;
    bluebuttonpressed=false ;
    blackbuttonpressed=false ;
    greenbuttonpressed=false ;
    background(255) ; 
    }
    
    //void draw() {  
    //if (mousePressed){
    //line(mouseX,mouseY,pmouseX,pmouseY);
    //}
    
    //red
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    //white
    fill (255) ;
    rect (379, 35, 20, 20) ;
    //blue
    fill (0,0,255) ;
    rect (379, 60, 20, 20) ;
    //black
    fill (0) ;
    rect (379, 85, 20, 20) ;
    //green
    fill (0,255,0) ;
    rect (379, 110, 20, 20) ;
    
    
    if(redbuttonpressed){
    stroke(255,0,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
    
    if(whitebuttonpressed){
    stroke(255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
    
    if(bluebuttonpressed){
    stroke(0,0,255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
    
    if(blackbuttonpressed){
    stroke(0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
    
    if(greenbuttonpressed){
    stroke(0,255,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
    
    void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
    whitebuttonpressed = true ;  
    bluebuttonpressed = true ;  
    blackbuttonpressed = true ;  
    greenbuttonpressed = true ;  
    }
      }
    
  • you must have the lines inside the function draw()

  • what's your first language?

  • edited May 2015

    line 17 is necessary

    delete // here

    Hint

    now you have multiple buttons

    in function mousePressed() you need to check

    which one has been checked

    so these lines for every button:

          if(mouseX > 379 & mouseX < 379 + 20 & 
             mouseY > 10 & mouseY < 10 + 20) { 
        redbuttonpressed = true ; 
     }
          if(mouseX > ... & mouseX < ... + 20 & 
             mouseY > 10 & mouseY < 10 + 20) { 
        greenbuttonpressed = true ; 
     }
    
    
     and so on and so on
    

    but each time for the coordinates / position of the rects / buttons (like in draw())

    almost there!!!!

    ;-)

    it's a shame you can't use ctrl-t because it would help you spot the errors

    read your own code carefully

    you are not closing your { with a } after line 19

    hint

    this not in mousePressed

        stroke(255,0,0);
          line(mouseX,mouseY,pmouseX,pmouseY);
    

    a part in draw()

    a part in draw() must look like this

    it's not complete

    set stroke() before using line()

    use line only when mousePressed (this is the var mousePressed)

    the function (not the var) mousePressed() is used only for the buttons.

     if (redbuttonpressed) {
        stroke(255, 0, 0);
      }
      if (whitebuttonpressed) {
        stroke(255);
      }
      if (bluebuttonpressed) {
        stroke(0, 0, 255);
      }
      if (blackbuttonpressed) {
        stroke(0);
      }
      if (greenbuttonpressed) {
        stroke(0, 255, 0);
      }
    
      if (mousePressed) {
        line(mouseX, mouseY, pmouseX, pmouseY);
      }
    

    you are doing great !

    ;-)

  • It still gives me a syntax error, though:

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
     
    void setup() {
    size (400,400);
    redbuttonpressed=false ;
    whitebuttonpressed=false ;
    bluebuttonpressed=false ;
    blackbuttonpressed=false ;
    greenbuttonpressed=false ;
    background(255) ; 
    }
     
    void draw() {  
    if (mousePressed){
    line(mouseX,mouseY,pmouseX,pmouseY);
    else
    if(redbuttonpressed){
    stroke(255,0,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(whitebuttonpressed){
    stroke(255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(bluebuttonpressed){
    stroke(0,0,255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(blackbuttonpressed){
    stroke(0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(greenbuttonpressed){
    stroke(0,255,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
     
    //red
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    //white
    fill (255) ;
    rect (379, 35, 20, 20) ;
    //blue
    fill (0,0,255) ;
    rect (379, 60, 20, 20) ;
    //black
    fill (0) ;
    rect (379, 85, 20, 20) ;
    //green
    fill (0,255,0) ;
    rect (379, 110, 20, 20) ;
     
     
    
     
    void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
    whitebuttonpressed = true ;  
    bluebuttonpressed = true ;  
    blackbuttonpressed = true ;  
    greenbuttonpressed = true ;  
    }
      }
    
  • what happened to my rectangles?

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
     
    void setup() {
    size (400,400);
    redbuttonpressed=false ;
    whitebuttonpressed=false ;
    bluebuttonpressed=false ;
    blackbuttonpressed=false ;
    greenbuttonpressed=false ;
    background(255) ; 
    }
     
    void draw() {  
    if(redbuttonpressed){
    stroke(255,0,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(whitebuttonpressed){
    stroke(255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(bluebuttonpressed){
    stroke(0,0,255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(blackbuttonpressed){
    stroke(0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(greenbuttonpressed){
    stroke(0,255,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if (mousePressed){
    line(mouseX,mouseY,pmouseX,pmouseY);
      }
    }
     
    //red
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    //white
    fill (255) ;
    rect (379, 35, 20, 20) ;
    //blue
    fill (0,0,255) ;
    rect (379, 60, 20, 20) ;
    //black
    fill (0) ;
    rect (379, 85, 20, 20) ;
    //green
    fill (0,255,0) ;
    rect (379, 110, 20, 20) ;
     
     void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
    whitebuttonpressed = true ;  
    bluebuttonpressed = true ;  
    blackbuttonpressed = true ;  
    greenbuttonpressed = true ;  
    }
      }
    
    
  • edited May 2015

    there is one }

    it is now in 41

    but must be in 58

    read careful your own code

  • ok, I am off. Sorry.

    you need to implement my changes.

    See above.

    See you tomorrow.

    ;-)

  • boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
      
    void setup() {
    size (400,400);
    redbuttonpressed=false ;
    whitebuttonpressed=false ;
    bluebuttonpressed=false ;
    blackbuttonpressed=false ;
    greenbuttonpressed=false ;
    background(255) ; 
    }
      
    void draw() {  
    if(redbuttonpressed){
    stroke(255,0,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(whitebuttonpressed){
    stroke(255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(bluebuttonpressed){
    stroke(0,0,255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(blackbuttonpressed){
    stroke(0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(greenbuttonpressed){
    stroke(0,255,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if (mousePressed){
    line(mouseX,mouseY,pmouseX,pmouseY);
      }
    
      
    //red
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    //white
    fill (255) ;
    rect (379, 35, 20, 20) ;
    //blue
    fill (0,0,255) ;
    rect (379, 60, 20, 20) ;
    //black
    fill (0) ;
    rect (379, 85, 20, 20) ;
    //green
    fill (0,255,0) ;
    rect (379, 110, 20, 20) ;
      }
    
     void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          stroke(255,0,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 35 & mouseY < 35 + 20) { 
          stroke(255);
      line(mouseX,mouseY,pmouseX,pmouseY);
    whitebuttonpressed = true ;  
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 35 & mouseY < 35 + 20) { 
          stroke(0,0,255);
      line(mouseX,mouseY,pmouseX,pmouseY);
    bluebuttonpressed = true ;
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 60 & mouseY < 60 + 20) { 
          stroke(0);
      line(mouseX,mouseY,pmouseX,pmouseY);  
    blackbuttonpressed = true ;  
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 110 & mouseY < 110 + 20) { 
          stroke(0,255,0);
      line(mouseX,mouseY,pmouseX,pmouseY);
    greenbuttonpressed = true ;  
    }
      }
    }
    }
    }
    }
    
  • See you tomorrow! :)

  • no no.................

    no stroke or line in the function mousePressed() !!!!

    like in the other sketch in the function mousePressed() we just store data we don't draw - see above

    one block must be closed with }

    one block looks like this

    if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
          redbuttonpressed = true ;  
     }
    

    at the moment all } are at the end - they must be each be after its own block of code

  • how to improve this, I told you...

    see above

    if(redbuttonpressed){
    stroke(255,0,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(whitebuttonpressed){
    stroke(255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(bluebuttonpressed){
    stroke(0,0,255);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(blackbuttonpressed){
    stroke(0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if(greenbuttonpressed){
    stroke(0,255,0);
     line(mouseX,mouseY,pmouseX,pmouseY);
      }
    if (mousePressed){
    line(mouseX,mouseY,pmouseX,pmouseY);
      }
    
  • boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
     
    void setup() {
    size (400,400);
    redbuttonpressed=false ;
    whitebuttonpressed=false ;
    bluebuttonpressed=false ;
    blackbuttonpressed=false ;
    greenbuttonpressed=false ;
    background(255) ; 
    }
    }
     
    void draw() {  
    if (redbuttonpressed) {
       stroke(255, 0, 0);
     }
     if (whitebuttonpressed) {
       stroke(255);
     }
     if (bluebuttonpressed) {
       stroke(0, 0, 255);
     }
     if (blackbuttonpressed) {
       stroke(0);
     }
     if (greenbuttonpressed) {
       stroke(0, 255, 0);
     }
     if (mousePressed) {
       line(mouseX, mouseY, pmouseX, pmouseY);
     }
    }
    
    //red
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    //white
    fill (255) ;
    rect (379, 35, 20, 20) ;
    //blue
    fill (0,0,255) ;
    rect (379, 60, 20, 20) ;
    //black
    fill (0) ;
    rect (379, 85, 20, 20) ;
    //green
    fill (0,255,0) ;
    rect (379, 110, 20, 20) ;
    
     void mousePressed() {
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
         // stroke(255,0,0);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
       }
    if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 35 & mouseY < 35 + 20) { 
          //stroke(255);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    whitebuttonpressed = true ;  
    }
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 60 & mouseY < 60 + 20) { 
          //stroke(0,0,255);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    bluebuttonpressed = true ;
    }
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 85 & mouseY < 85 + 20) { 
          //stroke(0);
      //line(mouseX,mouseY,pmouseX,pmouseY);  
    blackbuttonpressed = true ;  
    }
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 110 & mouseY < 110 + 20) { 
        //  stroke(0,255,0);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    greenbuttonpressed = true ;  
    }
    }
    
  • error; expect; ";"

  • _vk_vk
    edited May 2015

    You need to keep track of your blocks. In the PDE a little blue rect shows you where the block, in which the carat is, closes. Use it. :)

    delete line 16 and 37 and it should work.

    EDIT: And add a } at line 54

  • _vk_vk
    edited May 2015 Answer ✓

    Also you might consider start using arrays and/or classes. It will make things much easier. For instance, what happens if you press green? It is selected, but then you can't select another color... That's because green is the last color in your mousePressed() function, so if it is true, than it's green forever. To avoid that you need to set all colorButtonPressed booleans to false at the begging of mousePressed(). If you had an array of booleans, that would be easier to do...

    check out this two cool articles:

    http://forum.processing.org/two/discussion/8082/from-several-variables-to-arrays

    http://forum.processing.org/two/discussion/8081/from-several-arrays-to-classes

  • This is it:

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
      
    void setup() {
    size (400,400);
    redbuttonpressed=false ;
    whitebuttonpressed=false ;
    bluebuttonpressed=false ;
    blackbuttonpressed=false ;
    greenbuttonpressed=false ;
    background(255) ; 
    }
    
      
    void draw() {  
    if (redbuttonpressed) {
       stroke(255, 0, 0);
     }
     if (whitebuttonpressed) {
       stroke(255);
     }
     if (bluebuttonpressed) {
       stroke(0, 0, 255);
     }
     if (blackbuttonpressed) {
       stroke(0);
     }
     if (greenbuttonpressed) {
       stroke(0, 255, 0);
     }
     if (mousePressed) {
       line(mouseX, mouseY, pmouseX, pmouseY);
     }
    
     
    //red
    fill (255,0,0) ;
    rect (379, 10, 20, 20) ;
    //white
    fill (255) ;
    rect (379, 35, 20, 20) ;
    //blue
    fill (0,0,255) ;
    rect (379, 60, 20, 20) ;
    //black
    fill (0) ;
    rect (379, 85, 20, 20) ;
    //green
    fill (0,255,0) ;
    rect (379, 110, 20, 20) ;
    }
     
     void mousePressed() {
    redbuttonpressed = false ;  
    whitebuttonpressed = false ;  
    bluebuttonpressed = false ;  
    blackbuttonpressed = false ;  
    greenbuttonpressed = false ;  
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 10 & mouseY < 10 + 20) { 
         // stroke(255,0,0);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    redbuttonpressed = true ;  
       }
    if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 35 & mouseY < 35 + 20) { 
          //stroke(255);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    whitebuttonpressed = true ;  
    }
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 60 & mouseY < 60 + 20) { 
          //stroke(0,0,255);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    bluebuttonpressed = true ;
    }
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 85 & mouseY < 85 + 20) { 
          //stroke(0);
      //line(mouseX,mouseY,pmouseX,pmouseY);  
    blackbuttonpressed = true ;  
    }
       if(mouseX > 379 & mouseX < 379 + 20 & 
            mouseY > 110 & mouseY < 110 + 20) {
        //  stroke(0,255,0);
      //line(mouseX,mouseY,pmouseX,pmouseY);
    greenbuttonpressed = true ;  
    }
    }
    
    
  • but the program is still not done...

  • How would I change the brush size with the mouse wheel?

  • I have this code for the rainbow color;

    rainbowbuttonpressed(random(255),random(255),random(255));
    

    but it does not give me a rainbow color

  • How would I change the brush size with the mouse wheel?

    read in the reference

    mouseWheel and strokeWeight()

  • edited May 2015

    rainbowbuttonpressed(random(255),random(255),random(255));

    what do you want to happen there?

    It looks like you get one random color (well, one color from the colors of the rainbow)

    hint

    you could say in draw()

     if (rainbowbuttonpressed) {
       stroke(random(255),random(255),random(255));
     }
    

    ;-)

  • I will check the reference and get back to you on that. I want it to give me random colors at the same time; like it may give me a random color (let's say blue) then I can draw a line with the color blue but it remains blue. I do not want the color to remain blue, I want it to change color for every small line drawn. Thank you.

  • is this homework?

  • but I don't have a teacher to help me, which is why I a using this forum

  • edited May 2015

    the button for rainbow must be implemented like every other button. Check it with mouse and so on.

    I do not want the color to remain blue, I want it to change color for every small line drawn.

    hint

    you could say in draw()

     if (rainbowbuttonpressed) {
       stroke(random(255),random(255),random(255));
     }
    

    that will give you a new random color every time

    you could even let the rainbowbutton change its color all the time

  • Answer ✓
    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
    boolean rainbowbuttonpressed;  
    boolean clearbuttonpressed ;
    
    void setup() {
      size (400, 400);
      redbuttonpressed=false ;
      whitebuttonpressed=false ;
      bluebuttonpressed=false ;
      blackbuttonpressed=false ;
      greenbuttonpressed=false ;
      rainbowbuttonpressed=false ;
      clearbuttonpressed=false ;
      background(255) ; 
      strokeWeight(0.5);
    }
    
    void draw() {  
      if (redbuttonpressed) {
        stroke(255, 0, 0);
      }
      if (whitebuttonpressed) {
        stroke(255);
      }
      if (bluebuttonpressed) {
        stroke(0, 0, 255);
      }
      if (blackbuttonpressed) {
        stroke(0);
      }
      if (greenbuttonpressed) {
        stroke(0, 255, 0);
      }
      if (rainbowbuttonpressed) {
        stroke(random(255), random(255), random(255));
      }
      if (clearbuttonpressed) {
        background(255);
      }
      if (mousePressed) {
        line(mouseX, mouseY, pmouseX, pmouseY);
      }
    
      //red
      fill (255, 0, 0) ;
      rect (379, 10, 20, 20) ;
      //white
      fill (255) ;
      rect (379, 35, 20, 20) ;
      //blue
      fill (0, 0, 255) ;
      rect (379, 60, 20, 20) ;
      //black
      fill (0) ;
      rect (379, 85, 20, 20) ;
      //green
      fill (0, 255, 0) ;
      rect (379, 110, 20, 20) ;
      //rainbow
      fill (random(255), random(255), random(255)) ;
      rect (379, 135, 20, 20) ;
      //clear
      fill (255) ;
      rect (379, 160, 20, 20) ;
    }
    
    void mousePressed() {
      redbuttonpressed = false ;  
      whitebuttonpressed = false ;  
      bluebuttonpressed = false ;  
      blackbuttonpressed = false ;  
      greenbuttonpressed = false ;
      clearbuttonpressed = false ;  
    
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 10 & mouseY < 10 + 20) { 
        // stroke(255,0,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        redbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 35 & mouseY < 35 + 20) { 
        //stroke(255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        whitebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 60 & mouseY < 60 + 20) { 
        //stroke(0,0,255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        bluebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 85 & mouseY < 85 + 20) { 
        //stroke(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);  
        blackbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 110 & mouseY < 110 + 20) {
        //  stroke(0,255,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        greenbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 135 & mouseY < 135 + 20) { 
        // stroke(random(255), random(255), random(255));
        //line(mouseX,mouseY,pmouseX,pmouseY);
        rainbowbuttonpressed = true ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 160 & mouseY < 160 + 20) { 
        background(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        clearbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
    }
    
  • Ok, now I want the mouseEvent for the size and I need to know how to use a star instead of a line

  • I found this in void mousePressed() but I don't understand it:

    void mouseWheel(MouseEvent event) {
      float e = event.getCount();
      println(e);
    
  • what values does e have?

  • what do you mean?

  • the place where I found it is;

    https://processing.org/reference/mouseWheel_.html
    

    the full code is:

    void setup() {
      size(100, 100);
    }
    
    void draw() {} 
    
    void mouseWheel(MouseEvent event) {
      float e = event.getCount();
      println(e);
    }
    
  • well, I can't do the work for you.

    So did you test it this in your sketch:

    void mouseWheel(MouseEvent event) {
      float e = event.getCount();
      println(e);
    }
    

    It shows something in the black/white window.

    What does it say there?

    These are the values of e....

    ;-)

  • I know.... I told you where to find it.....

  • I used it in my code:

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
    boolean rainbowbuttonpressed;  
    boolean clearbuttonpressed ;
     
    void setup() {
      size (400, 400);
      redbuttonpressed=false ;
      whitebuttonpressed=false ;
      bluebuttonpressed=false ;
      blackbuttonpressed=false ;
      greenbuttonpressed=false ;
      rainbowbuttonpressed=false ;
      clearbuttonpressed=false ;
      background(255) ; 
      strokeWeight(5);
    }
    
    
    void draw() {} 
    
    void mouseWheel(MouseEvent event) {
      float e = event.getCount();
      println(e);
    }
     
    
    void draw() {  
      if (redbuttonpressed) {
        stroke(255, 0, 0);
      }
      if (whitebuttonpressed) {
        stroke(255);
      }
      if (bluebuttonpressed) {
        stroke(0, 0, 255);
      }
      if (blackbuttonpressed) {
        stroke(0);
      }
      if (greenbuttonpressed) {
        stroke(0, 255, 0);
      }
      if (rainbowbuttonpressed) {
        stroke(random(255), random(255), random(255));
      }
      if (clearbuttonpressed) {
        background(255);
      }
      if (mousePressed) {
        line(mouseX, mouseY, pmouseX, pmouseY);
      }
     
      //red
      fill (255, 0, 0) ;
      rect (379, 10, 20, 20) ;
      //white
      fill (255) ;
      rect (379, 35, 20, 20) ;
      //blue
      fill (0, 0, 255) ;
      rect (379, 60, 20, 20) ;
      //black
      fill (0) ;
      rect (379, 85, 20, 20) ;
      //green
      fill (0, 255, 0) ;
      rect (379, 110, 20, 20) ;
      //rainbow
      fill (random(255), random(255), random(255)) ;
      rect (379, 135, 20, 20) ;
      //clear
      fill (255) ;
      rect (379, 160, 20, 20) ;
    }
     
    void mousePressed() {
      redbuttonpressed = false ;  
      whitebuttonpressed = false ;  
      bluebuttonpressed = false ;  
      blackbuttonpressed = false ;  
      greenbuttonpressed = false ;
      clearbuttonpressed = false ;  
     
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 10 & mouseY < 10 + 20) { 
        // stroke(255,0,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        redbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 35 & mouseY < 35 + 20) { 
        //stroke(255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        whitebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 60 & mouseY < 60 + 20) { 
        //stroke(0,0,255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        bluebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 85 & mouseY < 85 + 20) { 
        //stroke(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);  
        blackbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 110 & mouseY < 110 + 20) {
        //  stroke(0,255,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        greenbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 135 & mouseY < 135 + 20) { 
        // stroke(random(255), random(255), random(255));
        //line(mouseX,mouseY,pmouseX,pmouseY);
        rainbowbuttonpressed = true ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 160 & mouseY < 160 + 20) { 
        background(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        clearbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
    }
    
    

    but it neither does anything nor does it read anything on the screen.

  • you can't have 2 draw()

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
    boolean rainbowbuttonpressed;  
    boolean clearbuttonpressed ;
    
    float strokeWeightMy = 0.5; 
    
    void setup() {
      size (400, 400);
      redbuttonpressed=false ;
      whitebuttonpressed=false ;
      bluebuttonpressed=false ;
      blackbuttonpressed=false ;
      greenbuttonpressed=false ;
      rainbowbuttonpressed=false ;
      clearbuttonpressed=false ;
      background(255) ; 
      strokeWeight(strokeWeightMy);
    }
    
    void draw() {  
      if (redbuttonpressed) {
        stroke(255, 0, 0);
      }
      if (whitebuttonpressed) {
        stroke(255);
      }
      if (bluebuttonpressed) {
        stroke(0, 0, 255);
      }
      if (blackbuttonpressed) {
        stroke(0);
      }
      if (greenbuttonpressed) {
        stroke(0, 255, 0);
      }
      if (rainbowbuttonpressed) {
        stroke(random(255), random(255), random(255));
      }
      if (clearbuttonpressed) {
        background(255);
      }
      if (mousePressed) {
        line(mouseX, mouseY, pmouseX, pmouseY);
      }
    
    
      //red
      fill (255, 0, 0) ;
      rect (379, 10, 20, 20) ;
      //white
      fill (255) ;
      rect (379, 35, 20, 20) ;
      //blue
      fill (0, 0, 255) ;
      rect (379, 60, 20, 20) ;
      //black
      fill (0) ;
      rect (379, 85, 20, 20) ;
      //green
      fill (0, 255, 0) ;
      rect (379, 110, 20, 20) ;
      //rainbow
      fill (random(255), random(255), random(255)) ;
      rect (379, 135, 20, 20) ;
      //clear
      fill (255) ;
      rect (379, 160, 20, 20) ;
    }
    
    void mousePressed() {
      redbuttonpressed = false ;  
      whitebuttonpressed = false ;  
      bluebuttonpressed = false ;  
      blackbuttonpressed = false ;  
      greenbuttonpressed = false ;
      clearbuttonpressed = false ;  
    
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 10 & mouseY < 10 + 20) { 
        // stroke(255,0,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        redbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 35 & mouseY < 35 + 20) { 
        //stroke(255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        whitebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 60 & mouseY < 60 + 20) { 
        //stroke(0,0,255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        bluebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 85 & mouseY < 85 + 20) { 
        //stroke(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);  
        blackbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 110 & mouseY < 110 + 20) {
        //  stroke(0,255,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        greenbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 135 & mouseY < 135 + 20) { 
        // stroke(random(255), random(255), random(255));
        //line(mouseX,mouseY,pmouseX,pmouseY);
        rainbowbuttonpressed = true ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 160 & mouseY < 160 + 20) { 
        background(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        clearbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
    }
    
    void mouseWheel(MouseEvent event) {
      float e = event.getCount();
      println(e);
      strokeWeight(strokeWeightMy);
    }
    //
    
  • did you notice you have the button rects outline color change

    when you change your pen color?

    Therefore say before drawing the button rects

    stroke(0);
    
  • like this? (this is the code you send me but with the stroke(0);)

    boolean redbuttonpressed;
    boolean whitebuttonpressed;
    boolean bluebuttonpressed;
    boolean blackbuttonpressed;
    boolean greenbuttonpressed;
    boolean rainbowbuttonpressed;  
    boolean clearbuttonpressed ;
     
    float strokeWeightMy = 0.5; 
     
    void setup() {
      size (400, 400);
      redbuttonpressed=false ;
      whitebuttonpressed=false ;
      bluebuttonpressed=false ;
      blackbuttonpressed=false ;
      greenbuttonpressed=false ;
      rainbowbuttonpressed=false ;
      clearbuttonpressed=false ;
      background(255) ; 
      strokeWeight(strokeWeightMy);
    }
     
    void draw() {  
      if (redbuttonpressed) {
        stroke(255, 0, 0);
      }
      if (whitebuttonpressed) {
        stroke(255);
      }
      if (bluebuttonpressed) {
        stroke(0, 0, 255);
      }
      if (blackbuttonpressed) {
        stroke(0);
      }
      if (greenbuttonpressed) {
        stroke(0, 255, 0);
      }
      if (rainbowbuttonpressed) {
        stroke(random(255), random(255), random(255));
      }
      if (clearbuttonpressed) {
        background(255);
      }
      if (mousePressed) {
        line(mouseX, mouseY, pmouseX, pmouseY);
      }
     
     stroke (0);
      //red
      fill (255, 0, 0) ;
      rect (379, 10, 20, 20) ;
      //white
      fill (255) ;
      rect (379, 35, 20, 20) ;
      //blue
      fill (0, 0, 255) ;
      rect (379, 60, 20, 20) ;
      //black
      fill (0) ;
      rect (379, 85, 20, 20) ;
      //green
      fill (0, 255, 0) ;
      rect (379, 110, 20, 20) ;
      //rainbow
      fill (random(255), random(255), random(255)) ;
      rect (379, 135, 20, 20) ;
      //clear
      fill (255) ;
      rect (379, 160, 20, 20) ;
    }
     
    void mousePressed() {
      redbuttonpressed = false ;  
      whitebuttonpressed = false ;  
      bluebuttonpressed = false ;  
      blackbuttonpressed = false ;  
      greenbuttonpressed = false ;
      clearbuttonpressed = false ;  
     
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 10 & mouseY < 10 + 20) { 
        // stroke(255,0,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        redbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 35 & mouseY < 35 + 20) { 
        //stroke(255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        whitebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 60 & mouseY < 60 + 20) { 
        //stroke(0,0,255);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        bluebuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 85 & mouseY < 85 + 20) { 
        //stroke(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);  
        blackbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 110 & mouseY < 110 + 20) {
        //  stroke(0,255,0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        greenbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 135 & mouseY < 135 + 20) { 
        // stroke(random(255), random(255), random(255));
        //line(mouseX,mouseY,pmouseX,pmouseY);
        rainbowbuttonpressed = true ;
      }
      if (mouseX > 379 & mouseX < 379 + 20 & 
        mouseY > 160 & mouseY < 160 + 20) { 
        background(0);
        //line(mouseX,mouseY,pmouseX,pmouseY);
        clearbuttonpressed = true ;
        rainbowbuttonpressed = false ;
      }
    }
     
    void mouseWheel(MouseEvent event) {
      float e = event.getCount();
      println(e);
      strokeWeight(strokeWeightMy);
    }
    //
    
Sign In or Register to comment.