私は、タートルのモジュールを使ってPythonで作業していたプロジェクトのチェックボックスを作り直そうとしていました。これを行うには、チェックボックス作成時のカメの色は何もなく、ユーザーがボックスをクリックすると色が変わると想像しました。私は変数を使用しましたが、動作しないようです。Pythonで後でタートルの描画の色を変更する
color = ((0,255,0))
def Options():
global color
opts = turtle.Screen()
opts.setup(800,800)
opts.reset()
opts.title('Options')
turtle.onscreenclick(None)
boxes = turtle.Turtle()
boxes.ht()
boxes.up()
boxes.sety(300)
boxes.write('Character Control', align = 'center', font = ('Verdana', 30, 'normal'))
boxes.goto(-200,250)
boxes.pd()
boxes.begin_fill()
for i in range(4):
boxes.fd(50)
boxes.rt(90)
boxes.color(color)
boxes.end_fill()
boxes.up()
boxes.goto(0,207)
boxes.write('Attracted to food.', align = 'center', font = ('Verdana', 20, 'normal'))
boxes.goto(-200,180)
boxes.pd()
for i in range(4):
boxes.fd(50)
boxes.rt(90)
boxes.up()
boxes.goto(14, 140)
boxes.write('Attracted to poison.', align = 'center', font = ('Verdana', 20, 'normal'))
turtle.listen()
turtle.onscreenclick(checked)
def checked(x,y):
global color
if x in range(-200, -150) and y in range(200,250):
color = (255, 0, 0)
ありがとうございます。両方のチェックボックスを選択できるかどうか疑問に思っていました。あなたはそれに取り組む時間を費やす必要はありません。 @cdlane – rbhog
@rbhog、はい、あなたはそれらを独立したチェックボックスにすることができます。 'checked1()'と 'checked2()'イベントハンドラのロジックを変更するだけです。例えば、 'checked1()'が 'box1'の塗りつぶし色を見て、他の状態に切り替えるだけです。 – cdlane
それは私が私がする必要があると思ったものです。 – rbhog