pygame实现 飞机大战-第二版功能改进

按照个人的相法,对原代码进行了改进,添加功能如下:

功能1:飞机的移动多样化

原代码飞机只能左右移动,没有前后移动,增加飞机前后移动

方法:

1、在GameSprite初始化时添加一个速度值参数,用于水平速度的设定

class GameSprite(pygame.sprite.Sprite):
    def __init__(self, image_name, speed1=1,speed2=1):
        #继承父类方法
        super().__init__()

        self.image = pygame.image.load(image_name) #通过图像生成surface对象
        self.rect = self.image.get_rect() #生成rect对象
        self.speed1 = speed1 #设置垂直速度,如果不设置则默认为1
        self.speed2 = speed2#设置水平速度,如果不设置则默认为1,主要是飞机应用

2、在Hero的定义中,初始化中添加参数调用,加上修改update,添加y方向的运动,并且添加底部防出框的代码

class Hero(GameSprite):
    def __init__(self):
       .......

    def update(self):
        # 英雄在水平方向运行
        self.rect.x += self.speed2
        # 英雄在垂直方向运行
        self.rect.y -= self.speed1
        # 控制英雄不能离开屏幕
        if self.rect.x < 0:
            self.rect.x = 0
        elif self.rect.y < 0:
            self.rect.y = 0
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值