python自学 pygame 使用按键控制图片文件移动(待完善)

代码目标:将图片至于屏幕中心,使用上、下、左、右键控制图片做对应移动,且图片移动不能超过边界。

代码缺点:只能单次移动,长按无效。 

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()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值