[英]Can someone please tell me where am I wrong in this python code?
Here's a simple pygame code where I inserted a screen, a pink rectangle and tried moving it.这是一个简单的 pygame 代码,我在其中插入了一个屏幕,一个粉红色的矩形并尝试移动它。 The rectangle in the pygame window isn't moving. pygame window 中的矩形没有移动。 Which means the code inside '**' isn't working.这意味着 '**' 中的代码不起作用。 How do I solve that?我该如何解决?
import pygame, sys
pygame.init()
width = 800
height = 600
pink = (244,133,227)
player_pos = [400, 300]
player_size = 50
screen = pygame.display.set_mode((width,height))
game_over = False
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
** if event.type == pygame.KEYDOWN:
x = player_pos[0]
y = player_pos[1]
if event.type == pygame.K_LEFT:
x -= player_size
elif event.type == pygame.K_RIGHT:
x += player_size
player_pos = [x, y]
screen.fill((0,0,0)) **
pygame.draw.rect(screen, pink, (player_pos[0], player_pos[1], player_size, player_size))
pygame.display.update()
The key is stored in the key
attribute, rather then the type
attribute.密钥存储在key
属性中,而不是type
属性中。 See pygame.event :请参阅pygame.event :
if event.type== pygame.K_LEFT:
if event.key == pygame.K_LEFT:
See the example:请参阅示例:
import pygame, sys
pygame.init()
width = 800
height = 600
pink = (244,133,227)
player_pos = [400, 300]
player_size = 50
screen = pygame.display.set_mode((width,height))
game_over = False
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.KEYDOWN:
x = player_pos[0]
y = player_pos[1]
if event.key == pygame.K_LEFT:
x -= player_size
elif event.key == pygame.K_RIGHT:
x += player_size
player_pos = [x, y]
screen.fill((0,0,0))
pygame.draw.rect(screen, pink, (player_pos[0], player_pos[1], player_size, player_size))
pygame.display.update()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.