Кнопка в pygame

Хочу сделать кнопку - изображения которая будет появляться когда два других изображения соприкасаются Проблема в том если я использую get_rect то на кнопку можно будет нажимать даже если изображение еще не появилось. Как сделать так чтобы в области где должно появится изображение ничего не работало до тех пор пока изображения не появится

import pygame

def push(but):
    keys = pygame.mouse.get_pressed() 
    mouse = pygame.mouse.get_pos()
    if but.x < mouse[0] < but.x + but.w:
        if but.y < mouse[1] < but.y + but.h:
            if keys[0] == 1:
                return True
                                
pygame.init()

bg = pygame.image.load ("bg.png") 
plus = pygame.image.load ("levis.png") 
ho = pygame.image.load ("ho.png") 
lef = pygame.image.load("levo.png")
righ = pygame.image.load("pr.png")

playl = [ pygame.image.load("1l.png"), 
pygame.image.load("2l.png"), 
pygame.image.load("3l.png"), 
pygame.image.load("4l.png")]

playr = [ pygame.image.load("1.png"), 
pygame.image.load("2.png"), 
pygame.image.load("3.png"), 
pygame.image.load("4.png")]


width, height = 720, 1500
display = pygame.display.set_mode((width, height))
Red = (255, 0, 0)
left = pygame.Rect((50, 1200), (150, 100))
right = pygame.Rect((500, 1200), (150, 100))
x = width // 2
y = height // 2
speed = 6
l = 0


while True:
    for ev in pygame.event.get():
        if ev.type == pygame.QUIT:
            pygame.quit()
            exit()

    if l == 3:
        l = 0 
    else:
        l += 1
    display.fill((120, 120, 120))   
    display.blit(bg, (0, 0)) 
    display.blit(ho, (100, 750)) 
    display.blit(playl[0], (x, y))
    
    play_rect = playl[0].get_rect(topleft=(x, y))
    ho_rect = ho.get_rect(topleft=(100, 750))
    
    
    if play_rect.colliderect(ho_rect):
        display.blit(plus, (550, 1100))
 
    if push(left):
       display.blit(ho, (100, 750)) 
       display.blit(playl[l], (x, y)) 
       x -= speed
    elif push(right):
       display.blit(ho, (100, 750)) 
       display.blit(playr[l], (x, y)) 
       x += speed    
    if x - 50 < 0:
        x = 50
    elif x + 50 > 720:
        x = 720 - 50
    display.blit(lef, (50, 1200)) 
    display.blit(righ, (500, 1200))
    pygame.display.update()

Ответы (0 шт):