代码目标:将图片至于屏幕中心,使用上、下、左、右键控制图片做对应移动,且图片移动不能超过边界。
代码缺点:只能单次移动,长按无效。
import pygame,sys pygame.init() screen =pygame.display.set_mode([640,480]) pygame.display.set_caption("按键测试") bg_color= [255,255,255] image = pygame.image.load("D:\pythonstudy\pygameStudy\skyrobot\images\ship.bmp") rect = image.get_rect() screen_rect =screen.get_rect() speed = 40 rect.center = screen_rect.center while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT and rect.right+20< screen_rect.right: rect.centerx+=speed elif event.key == pygame.K_LEFT and rect.left-20>0: rect.centerx-=speed elif event.key == pygame.K_UP and rect.top-20 >0: rect.centery-=speed elif event.key == pygame.K_DOWN and rect.bottom+20 < screen_rect.bottom: rect.centery +=speed else : print("按键不合法,请重新输入") screen.fill(bg_color) screen.blit(image, rect) pygame.display.flip()