Я делаю небольшую программу в pygame, но она все время зависает и говорит "не отвечает", даже если программа все еще работает и вызывает функцию pygame.draw.
if timer==0:
mouseMoved=False
import ctypes
ctypes.windll.user32.SetProcessDPIAware()
true_res = (ctypes.windll.user32.GetSystemMetrics(0), ctypes.windll.user32.GetSystemMetrics(1))
disp = pygame.display.set_mode(true_res,pygame.FULLSCREEN)
del ctypes
color=(0,0,0)
pos=[50,60]
pygame.Surface.fill(disp, (255,255,255))
#mouse.move(mPos[0], mPos[1])
firstMove=True
x, y = pygame.display.get_surface().get_size()
while not mouseMoved:
#mouse.move(mPos[0], mPos[1])
mouseMoved=False
pMouse=mPos
#print(pMouse)
mPos=mouse.get_position()
#print(pos)
if pos[0]+4>=x:
horiz=-1
color=(random.randint(0,255),random.randint(0,255),random.randint(0,255))
elif pos[0]-4<=0:
horiz=1
color=(random.randint(0,255),random.randint(0,255),random.randint(0,255))
if pos[1]-4<=0:
vert=1
color=(random.randint(0,255),random.randint(0,255),random.randint(0,255))
elif pos[1]+4>=y:
vert=-1
color=(random.randint(0,255),random.randint(0,255),random.randint(0,255))
pos[0]+=horiz
pos[1]+=vert
#pygame.Surface.fill(disp, (250,250,250))
pygame.draw.circle(disp, color, (pos[0], pos[1]), 9)
pygame.display.update()
#time.sleep(0.01)
if not pMouse==mPos:
if firstMove:
firstMove=False
else:
timer = 360
mouseMoved=True
#pygame.display.iconify()
#disp = pygame.display.set_mode((200,200))
pygame.display.quit()
#pygame.display.update()
print(f"moved from {mPos} to {pMouse}")
Эта штука должна работать до тех пор, пока мышь не начнет двигаться, когда она уберет дисплей.