簡體   English   中英

Pygame我只能移動一次圖像,但不知道如何兩次移動圖像

[英]Pygame I can move an image once but don't know how to move it twice

我有一個要增量移動的框,我知道如何增量移動,但只能移動一次。 我不怎么會多次這樣做。 任何人有任何想法嗎? 包裝盒:

highlight = pygame.draw.rect(window, (darkYellow),(30, 300, 130, 40),0)

移動盒子(一次移動一次)

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit(); sys.exit()
        if event.type == pygame.KEYDOWN and pygame.K_RIGHT:
            highlight = pygame.draw.rect(window, (darkYellow),(260, 300, 130, 40),0)
            difficultyText = myFont.render("Difficulty", 1, red)
            window.blit(difficultyText, (260, 300))
            pygame.display.update()

當我只希望在按下鍵“ ARROW DOWN”時激活它時,可以接受任何鍵輸入

        if event.type == pygame.KEYDOWN and pygame.K_DOWN:
            window.blit(arrowImg, (5,400))
            pygame.display.update()

您的代碼幾乎沒有問題。

您正在事件循環中繪制,渲染文本和變白。 您應該將它們移出循環體。

看來您想要一個可以用右箭頭鍵更改其位置的光標。

為此,請使用一個變量,該變量將告訴您光標所在的位置。

然后,您的draw語句將如下所示:

pygame.draw.rect(window, (darkYellow),(30+cursorPos*230, 300, 130, 40),0)

編輯:

至於為什么event.type == pygame.KEYDOWN and pygame.K_DOWN對於所有KEY_DOWN事件都是true,是因為它可以轉換為(event.type==pygame.KEYDOWN) and pygame.K_DOWN

由於pygame.K_DOWN是非零值,因此當作為布爾值評估時為true。 要解決此問題,您需要執行以下操作:

event.type == pygame.KEYDOWN and event.key == pygame.K_DOWN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM