[英]How do I change the background color onclick on python using turtle?
我一直在嘗試使用烏龜在背景中的每次單擊時觸發這些顏色。 如果有人可以幫助我提前感謝您的答復,那將是非常不錯的!
import turtle
import random
f = turtle.pen()
BG=turtle.Screen()
colors = ['blue', 'red', 'yellow', 'green']
BG.bgcolor("black")
richard.pencolor("orange")
richard.penup()
def draw(x,y):
richard.goto(x,y)
richard.pendown()
for x in range(360):
richard.forward(200)
richard.left(108)
richard.forward(205)
richard.left(108)
richard.forward(210)
richard.left(108)
richard.forward(215)
richard.left(1)
richard.forward(220)
richard.left(108)
richard.forward(225)
richard.left(108)
richard.tilt(20)
richard.speed(90)
richard.pencolor()
richard.pencolor(random.choice(colors))
richard.bgcolor()
richard.bgcolor(random.choice(colors))
if(x % 2 ==1):
richard.bgcolor(random.choice(colors))
if(x % 2 ==1):
richard.pencolor(random.choice(colors))
richard.penup()
BG.onclick(draw())
您的主要問題是以下行:
BG.onclick(draw())
我們需要將draw
函數本身傳遞給onclick()
,而不是draw()
返回的None
:
BG.onclick(draw)
一個簡單的示例,僅在單擊窗口時更改背景顏色:
from turtle import Screen, Turtle
from random import choice
COLORS = ['blue', 'red', 'yellow', 'green']
screen = Screen()
screen.bgcolor("black")
def draw(x, y):
color = choice(COLORS)
while color == screen.bgcolor(): # don't use same color twice in a row
color = choice(COLORS)
screen.bgcolor(color)
screen.onclick(draw)
screen.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.