Добрый день всем читателям этой статьи. Продолжим рисовать на python с помощью библиотеки turtle. Сегодня будем получить координаты нажатия кнопки мыши и рисовать именно в том месте, где мы нажали на кнопку.
За основу возьмём код из прошлой статьи.
В функции btnclick(x, y) мы пропишем, что будет рисовать наша черепашка, я начну с простой линии вверх. А функции button() bubbles() я удалю, в этой программе они нам не понадобятся.
Для начала я перенёс две строки из функции button() в функцию window(), которая создаёт окно для рисования.
А также 12 строкой добавим turtle.done(), чтобы клики обрабатывались и окно не закрывалось.
Используем глобальную переменную n, чтобы в конце нарисованной стрелки был виден её порядковый номер, конечно это не несёт никакой смысловой нагрузки, но это прекрасный момент, чтобы использовать на практике глобальную переменную.
А вот так выглядит функция для рисования стрелки или линии, так как стрелка она только, потому что маркер стрелки остается в конце линии.
На самом деле здесь ничего нового, кроме того, что мы перемещаем курсор рисования на координаты x и y, а также используем глобальную переменную. Попробуйте реализовать эту программу, с анимацией это выглядит интереснее, чем на картинке.
Теперь можно ещё поэкспериментировать и сделать обработку координат, например в одной половине будем рисовать квадраты, а в другой окружности.
Для этого я напишу 2 разные функции для рисования квадратов и окружностей.
В функции square(x, y) всё как обычно, перемещаю курсор на координаты и с помощью цикла рисую квадрат.
В функции circle(x, y) всё ещё проще, окружность рисуется с помощью одной функции turtle.circle(radius).
А вызываю я их с помощью условия в переделанной функции btnclick(x, y).
То есть если мы кликнули в левой части окна, то x будет отрицательным и нарисуется квадрат, иначе если x будет положительным, то нарисуется окружность.
Вот так это выглядит
Попробуйте сами и поэкспериментируйте.
Выкладываю код из этой статьи
Спасибо, что дочитали статью, не болейте!
#программированиедляначинающих #программированиенаpython #программирование