import pygame
import sys
pygame.init()
scren=pygame.display.set_mode((800,600))
pygame.display.set_caption('hyh')
player=pygame.image.load('999.png')
player_rect=player.get_rect()
player_rect.x=350
player_rect.y=400
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_a:
player_rect.x-=20
if event.key==pygame.K_d:
player_rect.x+=20
scren.fill((0,255,0))
scren.blit(player,player_rect)
pygame.display.update()
这串代码哪里有问题
没啥大问题应该,但是但是在最后的 while 循环中,没有适当的等待时间来控制游戏循环的速度,可能会导致游戏运行速度过快或过慢的哦
在朱循环里添加一个:clock.tick(fps)应该就没啥问题了吧(有帮助希望点个采纳感谢)
screen,不是scren
import pygame
import sys
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption('hyh')
player = pygame.image.load('999.png')
player_rect = player.get_rect()
player_rect.x = 350
player_rect.y = 400
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
player_rect.x -= 20
if event.key == pygame.K_d:
player_rect.x += 20
screen.fill((0, 255, 0))
screen.blit(player, player_rect)
pygame.display.update()