2017-07-01 2 views
0

Ich muss einen Button machen, dass, wenn ich es drücke es generiert eine zufällige Farbe, # die ich zum Zeichnen mit verwenden kann. Ich habe ein paar andere Farbgeneratoren nachgeschlagen, aber ich weiß nicht, wie ich das umsetzen soll. Hier ist mein Code soweit.Implementieren zufällige Farbe Schaltfläche in meinem Code

from processing import * 


tool = "paintbrush" 
tool = "shapechanger" 
red_color = 0 
green_color = 0 
blue_color = 0 

def setup(): 
    size(400,400) 
    draw_red_button() 


def draw_red_button(): 
    set_red() 
    fill(red_color, green_color, blue_color) 
    rect(0, 380, 20, 20) 

def red_button_pressed(): 
    if mouse.pressed and (mouse.x>0 and 
         mouse.x<20 and 
         mouse.y>380 and 
         mouse.y<400): 
     return True 
    else: 
     return False 

def draw(): 
    if red_button_pressed(): 
     set_red() 
    else: 
     fill(red_color, green_color, blue_color) 
     paint() 
     stroke(red_color, green_color, blue_color) 

def paint(): 
    if mouse.pressed: 
    ellipse(mouse.x, mouse.y, 20,20) 



def set_red(): 
    global red_color 
    global green_color 
    global blue_color 
    red_color = 255 
    green_color = 0 
    blue_color = 0 






run() 
+1

Bitte möglichst geringes Beispiel schreiben, wenn Sie Hilfe erhalten mögen. Ändert sich Ihr Problem, wenn Sie nur einen Farbknopf anstelle eines Dutzends haben? Wenn nicht, warum lassen Sie uns ein Dutzend fast identischer Funktionsdefinitionen lesen? – DyZ

+0

Ich habe es gerade kleiner gemacht –

Antwort

0

Das Herunterladen der aktuellen Verarbeitungsumgebung, unten ist die Lösung, die ich gefunden habe. (Ihr Code deutet auf eine andere Version dieser Software, so dass Sie entsprechend anpassen können müssen.)

from processing import * 

red_color, green_color, blue_color = 0, 0, 0 

# Programmer defined functions 

def draw_random_button(): 
    fill(255, 255, 255) 
    rect(0, 380, 20, 20) 

def overButton(): 
    return 0 < mouseX < 20 and 380 < mouseY < 400 

def paint(): 
    if mousePressed: 
     ellipse(mouseX, mouseY, 20, 20) 

def set_random_color(): 
    global red_color 
    global green_color 
    global blue_color 

    red_color = random(256) 
    green_color = random(256) 
    blue_color = random(256) 

    fill(red_color, green_color, blue_color) 

# System defined functions 

def setup(): 
    size(400, 400) 
    draw_random_button() 
    set_random_color() 

def mousePressed(): 
    if overButton(): 
     set_random_color() 

def draw(): 
    if not overButton(): 
     paint() 
     stroke(red_color, green_color, blue_color) 

Eine verwirrende Sache ist, dass mousePressed ist eine Variable, die Sie und eine Funktion testen können Sie definieren können.

enter image description here