Как создать текст случайного цвета в Trinket.io/Python ?

#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()