Hiển thị hình ảnh trên window game không như mong muốn

nếu mình muốn hiển thị ra 1 hình ảnh mà mình muốn bằng cách nhấn 1 nút bàn phím trong pygame thì làm như thế nào nhỉ, mình cứ ấn thì nó chỉ hiện trong 1 fps rồi tắt

def draw(img, x, y):
    screen.blit(img,(x,y))

run = True
while run:
    screen.blit(bg,(0,0))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_q:
                draw(img_1, pos_x, pos_y)
           
    pygame.display.update()
    clock.tick(60)
pygame.quit()

Vậy mong muốn của bạn là gì?

2 Likes

mình cũng hiểu lý do vì sao, nhưng mình không biết làm sao để code đúng ý mình

muốn nhấn nút q là output ra được ảnh luôn, code của mình nhấn q chỉ hiện ảnh trong tíc tắc rồi biến mất

ngay từ mô tả của bạn đã mơ hồi rồi, làm sao người khác hiểu được
xuất 1 hình ảnh? là xuất ra 1 file ảnh (1 frame của pygame???) hay là xuất đi đâu, format gì?

4 Likes

Cảm ơn bạn đã nhắc nhở, mình sẽ sửa lại. Ý mình là hiển thị hình ảnh đó trên window game

Bạn chỉ vẽ 1 lần, lần tiếp theo bạn xóa nó mất tiêu rồi còn gì.

Vòng lặp sự kiện (Event loop) xảy ra rất nhanh, mỗi lần lặp sẽ lấy sự kiện tiếp theo (thường nằm ở hàng đợi - queue).

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?