Использование onscreenclick для рисования объектов в определенных частях экранаPython

Программы на Python
Ответить
Anonymous
 Использование onscreenclick для рисования объектов в определенных частях экрана

Сообщение Anonymous »

У меня есть код, который я никак не могу заставить работать правильно. В нынешнем виде черепаха вообще ничего не рисует, несмотря на отсутствие видимых ошибок в коде. Я уверен, что это что-то логичное, но я не могу этого найти. Предполагается, что код рисует определенный объект, но только тогда, когда пользователь щелкает мышью в определенной части экрана. Например, если пользователь щелкнет в правом верхнем углу экрана, он нарисует солнце. Если они щелкнут в левом верхнем углу экрана, нарисуются облака. Я прикрепил изображение, показывающее, как это должно выглядеть. https://i.sstatic.net/klWZT.png
Любая помощь приветствуется.

turtle.setup(575,575)
pen = turtle.Turtle()
pen.speed(0)
pen.pensize(2)
pen.hideturtle()

def draw_sun(x,y):
if x > 300 and y > 300:
turtle.onscreenclick(draw_sun)
pen.up()
pen.setpos(x,y)
pen.down()
pen.fillcolor("yellow")
pen.begin_fill()
pen.circle(30)
pen.end_fill()

def draw_cloud(x,y):
if x > 200 and y > 300:
turtle.onscreenclick(draw_cloud)
pen.up()
pen.setpos(x,y)
pen.down()
pen.fillcolor("blue")
pen.begin_fill()
pen.circle(15)
pen.penup()
pen.forward(20)
pen.circle(20)
pen.penup()
pen.forward(20)
pen.circle(15)
pen.penup()
pen.end_fill()

def draw_trees(x,y):
if y > 100:
turtle.onscreenclick(draw_trees)
pen.up()
pen.setpos(x,y)
pen.down()
pen.fillcolor("green")
for i in range(3):
pen.forward(50)
pen.left(120)
pen.end_fill()
pen.up()
pen.setpos(x,y)
pen.down()
pen.fillcolor("brown")
for i in range(4):
pen.forward(20)
pen.left(90)
pen.forward(50)
pen.end_fill()

turtle.done()```


Подробнее здесь: https://stackoverflow.com/questions/698 ... the-screen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»