#python #python-2.7 #pygame
#питон #python-2.7 #pygame
Вопрос:
Я создаю игру под названием Gravity code, цель которой — поймать падающие предметы, которые меняют цвет, скорость, размер или форму черепахи. Где мне нужен заголовок случайного цвета.
# --- imports ---
import turtle
from random import *
# --- variables ---
font_setup = ("Verdana", 25, "normal")
screen = turtle.Screen()
# --- main ---
title.speed("fastest")
title.hideturtle()
title.penup()
title.goto(-62, 60)
title.write("Gravity", font = font_setup)
title.setpos(-45, 30)
title.write("Code", font = font_setup)
# --- events ---
screen.mainloop()
Комментарии:
1. используйте turtle.onclick или
turtle.onscreenclick
для выполнения функции при щелчке и проверьте, находится ли положение мыши внутри прямоугольника кнопки.2. @Tibebes. M это может быть портал trinket.io
3. @Tibebes. Давным-давно было подобное repl.it но, похоже, теперь вам нужно создать учетную запись
4. Я использую черепаху только для рисования фигур, как в этой галерее , и я не был уверен, как
onclick
это работает. Обычно я бы использовалPyGame
which использует прямоугольник для рисования кнопки, и он сохраняет этот прямоугольник в виде двух углов —left, top
(x1,y1
) иright, bottom
(x2, y2
), а затем вы проверяете(left < mouse_x < right) and (top < mouse_y < bottom)
5. @Tibebes. M спасибо,
turtle
хорош для рисования фигур, но не для игр 🙂 На подстраницах у меня есть код для каждого изображения в этой галерее.
Ответ №1:
Вы можете использовать turtle.onclick(function, mouse_button)
для выполнения функцию, когда вы нажимаете на свой button
.
onclick
требуется только имя функции без ()
(так называемый «обратный вызов»)
on_button_click
должен получить два значения — положение мыши.
import turtle
# --- functions ---
def on_button_click(x, y):
print('button clicked:', x,y)
button.hideturtle()
# --- main ---
screen = turtle.Screen()
button = turtle.Turtle()
button.speed("fastest")
#screen.addshape("icons8-button-100.png") #It's the second button.
#button.shape("icons8-button-100.png") #https://icons8.com/icons/set/button
button.left(90) # The second image is the button I'm using.
button.penup() #It can be resized afer you click download to...
button.goto(0, -120) # 70 x 70 pixels.
button.onclick(on_button_click, 1)
screen.mainloop()