2017-07-01 3 views
0

私はそれを押すと、描画に使うことができるランダムな色を生成するボタンを作る必要があります。私はいくつかの他のランダムなカラージェネレータを見てきましたが、それを実装する方法はわかりません。ここまでは私のコードです。私のコードにランダムな色のボタンを実装する

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

助けを求める場合は、必要最小限の例を投稿してください。 1ダースではなく1つのカラーボタンしかないと問題は変わりますか?もしそうでなければ、なぜあなたはほぼ同じ機能定義のダースを読ませてくれるのですか? – DyZ

+0

私はちょうどそれを小さくした –

答えて

0

現在の処理環境をダウンロードすることは、私が思い描いた解決策です。 (あなたがそれに応じて調整する必要があるかもしれないので、あなたのコードは、このソフトウェアの異なるバージョンを示唆。)のものを混乱

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) 

一つmousePressedはあなたがあなたが定義することができる機能をテストすることができる変数であるということです。

enter image description here

関連する問題