这是一个未完成的小游戏
当我反复尝试让小方块运动时(block1)
这个程序始终没有响应
(当下按键时没有响应)
小方块不能动
(初步判断是 无法获得键盘输入)
我的运行环境不是mac
是windows。(网上只有mac的解决方法)
各位大神求解(ง •_•)ง
import sys
import pygame
import random
move_right = False
move_left = False
class Settings():
def __init__(self):
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (245,222,179)
class character():
def __init__(self, screen,path):
self.screen = screen
self.image = pygame.image.load(path)
self.rect = self.image.get_rect()
self.screen_rect = self.screen.get_rect()
self.rect.centerx = self.screen_rect.centerx
self.rect.bottom = self.screen_rect.bottom
self.centerx = self.screen_rect.centerx
self.move_right = False
self.move_left = False
def blitme(self):
self.screen.blit(self.image, self.rect)
def move(self):
if self.move_left and self.rect.left > self.screen_rect.left:
self.centerx -= 2
if self.move_left and self.rect.right < self.screen_rect.width:
self.centerx += 2
self.rect.centerx = self.centerx
def check_event(character):
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_d:
character.move_right = True
elif event.key == pygame.K_a:
character.move_left = True
elif event.type == pygame.KEYUP:
if event.key == pygame.K_d:
character.move_right = False
elif event.key == pygame.K_a:
character.move_left = False
def update_screen(block1):
block1.blitme()
pygame.display.flip()
def run_game():
pygame.init()
settings = Settings()
screen = pygame.display.set_mode((settings.screen_width,settings.screen_height)) #设置屏幕大小
screen.fill(settings.bg_color) #背景颜色
#导入道具以及人物
block1 = character(screen,'D:\项目文件\pyhton项目\BlockFall\image\\block_blue.png') #这是不是最终的
block2 = character(screen,'D:\项目文件\pyhton项目\BlockFall\image\\block_red.png') #这是不是最终的
while True:
check_event(character)
block1.move()
update_screen(block1)
run_game()