내가하려고하는 것은 rect가 클릭되고 선택되고 텍스트가 표시되지만 다시 클릭하면 de-seleced되고 텍스트가 사라지는 것입니다.파이 게임 - 내 rect가 이미 클릭되었는지 확인하려면 어떻게합니까?
list_of_rect는 rect의 위치와 크기를 나타내는 좌표 목록 (x, y, width, height)입니다.
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)
편집 : 나는 생각을 하나 개의 아이디어가 클릭 된 사각형을 추적하는 것이 었습니다. 하지만이 같은 목록을 가진이
대신 selected_rect라는 변수를 사용하여 아이디어를 사용했습니다. 완벽하게 작동합니다. 감사합니다! – Theo
@Theo가 목록에 사각형을 저장하는 경우에만 작동합니다. 그는 (잘못된 대명사 인 경우에 유감스럽게도) 저장되는 유일한 정보는 rect_object가 아닌 좌표를 포함하는 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'는 OP 요구 사항에 대해 괜찮은'[[x, y, width, height], [x3, y3, width3, height3]] '처럼 보입니다. – rassar