То, что я пытаюсь сделать, - это щелкнуть прямоугольник, выбрать его и отобразить текст, но если его снова щелкнуть, он будет удален и текст исчезнет.Pygame - Как проверить, был ли мой прямоугольник уже нажат?
list_of_rect - это список координат (x, y, ширина, высота), представляющий положение и размер прямоугольника.
render_display показывает экран с текстом.
if event.type == pygame.MOUSEBUTTONUP and event.button == 1:
x, y = event.pos
for i in range(len(list_of_rect)):
j = list_of_rect[i]
if j[0][0] <= x <= (j[0][0] + j[0][2]) and j[0][1] <= y <= \
(j[0][1] + j[0][3]):
render_display(screen, text)
EDIT: Одна из идей я думал были следить за прямоугольник, который был щелкнули. Но я не уверен, как реализовать эту
Вместо этого я использовал переменную с именем selected_rect и использовал вашу идею. Работает отлично, спасибо! – Theo
Это будет работать, только если @Theo сохраняет прямоугольники в списке. Он (извините, если ошибочное местоимение) уже заявил, что только сохраненная информация - list_of_rect, которая содержит координаты, а не объекты прямоугольника. – PMARINA
@PMARINA предполагает, что 'list_of_rect' сохраняет свои данные, такие как' [[x, y, width, height] [x2, y2, width2, height2], ... [xn, yn, widthn, heightn]] 'rects_clicked не нуждается в отслеживании объектов прямоугольника, а вместо этого проверяет, находится ли подсписчик в' rects_clicked'. Поэтому 'rects_clicked' может выглядеть так: [[x, y, width, height], [x3, y3, width3, height3]]', что отлично подходит для требований OP – rassar