import pygame, sys, time
win = pygame.display.set_mode((750, 750))
PlayerX = 375
PlayerY = 375
helloX = 10
helloY = 10
playerScale = 50
Player = pygame.image.load("player.png")
Player = pygame.transform.scale(Player, (playerScale, playerScale))
clock = pygame.time.Clock()
while 1:
for event in pygame.event.get():
keys = pygame.key.get_pressed()
if keys[pygame.K_q]:
sys.exit
if keys[pygame.K_a]:
PlayerX -= 1
if keys[pygame.K_d]:
PlayerX += 1
if keys[pygame.K_s]:
PlayerY += 1
if keys[pygame.K_w]:
PlayerY -= 1
if keys[pygame.K_t]:
playerScale *= 2
Player = pygame.transform.scale(Player, (playerScale, playerScale))
if keys[pygame.K_y]:
playerScale /= 2
Player = pygame.transform.scale(Player, (playerScale, playerScale))
def drawScreen():
win.fill((48, 101, 13))
win.blit(Player, (PlayerX, PlayerY))
pygame.display.update()
drawScreen()
pygame.display.flip()
clock.tick(120)
对于某些情况,在该程序中移动鼠标时,fps会增加,从而使角色移动更快。那么,您如何修复它,以及如何使角色以相同的速度移动,无论fps如何?谢谢你的帮助
pygame.key.get_pressed()
不是一个事件^{} 返回一个包含每个键状态的列表。如果按下某个键,则该键的状态为} 评估按钮的当前状态并获得连续移动。见How can I make a sprite move when key is held down
True
,否则为False
。使用^{键盘事件(请参阅pygame.event模块)仅在按键状态更改时发生一次。每次按键时
KEYDOWN
事件都会发生一次KEYUP
在每次释放密钥时发生一次。将键盘事件用于单个操作或逐步移动相关问题 更多 >
编程相关推荐