【问题标题】:How to move a rectangle in pygame如何在pygame中移动一个矩形
【发布时间】:2021-02-06 01:56:47
【问题描述】:

我正在尝试在 Pygame 中制作一个移动的矩形。我知道我首先需要使用我拥有的 pygame.draw.rect()。我暂时使用在线 IDE,Repl.it。我只需要确保这段代码是正确的。

import pygame, sys
pygame.init()
screen = pygame.display.set_mode((1000,600))
x = 500
y = 300
white = (255,255,255)
player = pygame.draw.rect(screen, white, (x,y,50,40))

while True:
  for event in pygame.event.get():
    if pygame.event == pygame.QUIT:
      pygame.QUIT
      sys.exit()
    if pygame.event == pygame.KEYDOWN:
      if pygame.key == pygame.K_LEFT:
        x -= 5
      if pygame.event == pygame.K_RIGHT:
        x += 5
  pygame.display.update()

感谢您的意见。

【问题讨论】:

    标签: python pygame repl.it


    【解决方案1】:

    您的代码接近可以正常工作了。

    您在某些地方检查了事件的错误部分,大多数情况下您在多个地方都有相同的错误。

    当坐标改变时,你也不会重新绘制矩形。

    import pygame, sys
    pygame.init()
    screen = pygame.display.set_mode((1000,600))
    x = 500
    y = 300
    black = (  0,  0,  0)
    white = (255,255,255)
    
    while True:
        # Handle Events
        for event in pygame.event.get():
            if event.type == pygame.QUIT:            # <<-- HERE use event.type
                pygame.quit()                        # <<-- HERE use pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN:       # <<-- HERE use event.type
                if event.key == pygame.K_LEFT:       # <<-- HERE use event.key
                    x -= 5
                elif event.key == pygame.K_RIGHT:    # <<-- HERE use event.key
                    x += 5
    
        # Reapint the screen
        screen.fill( black )                                     # erase old rectangle
        player = pygame.draw.rect(screen, white, (x,y,50,40))    # draw new rectangle
        pygame.display.update()
    

    【讨论】:

    • 我已经做出了改变和 pygame.event 一样。而且还是不行
    • 没关系。需要将 pygame.event 更改为 event.type。谢谢:)
    猜你喜欢
    • 2014-12-02
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多