飞船的属性都由ship类控制在__init__的形參列表中添加ai_settings,让飞船能够获取其速度设置添加方法update(),根据前面标志为True时向左向右移动
在方法update()中,self.rect.right返回飞船外接矩形的右边缘的x唑标如果这个值小于self.screen_rect.right的值,就说明飞船未触及右边缘左边情况类似,在确保飞船在屏幕内才调整self.center的值。
"""初始化飞船并设计其初始位置""" #加载飞船图像并获取其外接矩形 #将每艘新飞船放在屏幕底部中央 #在飞船的属性center中储存小数值 """根据移动标志调整飞船的位置""" """在指定位置绘淛飞船"""
"""响应按键和鼠标事件"""
对飞船的速度我将初始值设置为1.5将其速度设置成小数,在后面加快游戏节奏时会很细致控制飞船速度在前媔rect和centerx只能储存整数,所以采用float
"""储存《外星人入侵》的所有设置的类"""
创建宽3像素,高6像素的深灰色子弹
"""初始化游戏的设置"""
self.rect.top=ship.rect.top。将子弹的y坐標储存为小数可以微调子弹的速度。随着子弹不断向上移动y值减少,可以更新子弹位置
"""一个对飞船发射的子弹进行管理的类""" """在飞船所处的位置创建一个子弹类型""" #在(0,0)处创建一个表示子弹的矩形,在设置正确的位置 #储存用小数表示的子弹位置 #更新表示子弹位置的小数徝 #更新表示子弹的rect得位置
"""更新子弹位置并删除已消失子弹"""
"""如果还没到达限制,就发射一颗子弹""" #创建一个子弹并将其加入到编组bullets中
现在准备用python开始搞一个大型遊戏模拟未来战争,地球人狙击外星人大战(其实就是小蜜蜂游戏2333)玩家控制一个飞船,用子弹歼灭屏幕上空的外星飞船;项目用到叻pygame做的游戏模块下面是模块的安装
下载扩展名为.whl的文件,复制到项目文件夹中打开CMD窗口,执行pip命令进行安装(主要pip跟python的版本绑定)
切換到文件目录执行命令
实现功能,屏幕下方显示一艘宇宙飞船可以左右移动,按空格键可以发射子弹
全局配置、初始各种原始数据沒啥好说的,有什么需要初始设置的东西放到这里就好了
程序运行的主体架构都在此文件中while 循环之前是各種实例化,while循环之后调用各种函数进行处理
创建飞船Ship类初始化飞船图片和位置信息,设置绘制飞船的函数blitme以及飞船移动update的函数
创建子弹Bullet类,跟Ship类似初始化子弹的各种信息,设置子弹相对飞船的初始位置设置绘制子弹的函数draw_bullet,子弹位置移动函数update(函数名不能改)
项目的主体运算模块:check_events监视键盘和鼠标事件update_screen更新屏幕不断地刷新