微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PyGame:pygame.key.get_pressed 不起作用

如何解决PyGame:pygame.key.get_pressed 不起作用

我正在制作一个“世界上最难的游戏”模仿作为一个个人项目来提高自己,但键盘输入不起作用,我尝试将输入放入我的 while 循环中,但由于某种原因它仍然不起作用。

>
import pygame
import sys


def rects():
    global running,x_speed,y_speed,vel_x,vel_y
    moving_rect.x += x_speed
    moving_rect.y += y_speed

# Border Collision system
if moving_rect.right >= WIDTH or moving_rect.left <= 0:
    x_speed *= -1
if moving_rect.bottom >= HEIGHT or moving_rect.top <= 0:
    y_speed *= -1

# Player Collision system
if moving_rect.colliderect(player_rect):
    running = False
    pygame.quit()
    sys.exit()

# Key Inputs
keys_pressed = pygame.key.get_pressed()
if keys_pressed == pygame.K_UP:
    player_rect.y -= vel_y
if keys_pressed == pygame.K_DOWN:
    player_rect.y += vel_y
if keys_pressed == pygame.K_LEFT:
    player_rect.x -= vel_x
if keys_pressed == pygame.K_RIGHT:
    player_rect.x += vel_x

pygame.draw.rect(screen,(255,255,255),moving_rect)
pygame.draw.rect(screen,115,0),player_rect)

我没有尝试过使用 KEYUP 和 KEYDOWN,因为当同时完成两个键盘输入时,这非常耗时且有很多问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。