飞机大战

开发游戏前

开发游戏,使用pygame包
pip install pygame
导入模块
import pygame
pygame.init()
主要的代码
pygame.quit()

飞机对象的封装

定义一个类HeroPlane
通过这个类,可以创建一个飞机对象
飞机对象中有两个实例属性
对象.属性 = 值
飞机对象.image = 飞机图片对象
飞机对象.rect = 飞机矩形对象

工具模块 tool 中定义英雄飞机类

import pygame
class HeroPlane():
def __init__(self, img_path):
print('...英雄飞机创建成功...')
# hero = pygame.image.load('./images/me3.png')
self.image = pygame.image.load(img_path)
self.rect = pygame.Rect(150, 300, 102, 126)
def update(self):
# 修改飞机的位置
self.rect.x += 2
if self.rect.x >= 480:
self.rect.x = 0

英雄飞机类让他继承精灵类

注意事项
初始化的时候,要调用一下父类的init方法
super().__init__()

精灵对象添加到精灵组

先要实例化精灵组的类,得到一个精灵组的对象
精灵组的对象,添加精灵的对象

精灵组的对象调用update方法

看一看精灵成员,是否也同样调用了自身的update方法
精灵组的对象.update()

通过类来调用实例方法

class Cat:
def __init__(self, name):
self.name = name
def print_name(self):
print("at print name method")
print(self.name)t = Cat("tom")
j = Cat("jifei")
Cat.print_name(j)
Cat.print_name(j)
t.print_name()

继承

自定义的游戏精灵类,继承自 pygame的精灵类

class GameSprite(pygame.sprite.Sprite):
"""自定义的游戏精灵类"""
def __init__(self, image_path, speed):
self.image = pygame.image.load(image_path)
self.rect = pygame.Rect(0,0,100,200)
self.speed = speed

自定义的英雄飞机类,继承自,自定义的游戏精灵类

class HeroPlane(GameSprite):
def __init__(self, i, s):
# 设置我方飞机的位置
super().__init__(i,s)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值