学习Python之小练习(飞机大战)(4)
2020-02-03 05:00
781 查看
游戏框架搭建
今天接着更新小游戏
用 面向对象 的方法进行游戏框架搭建
- 明确主程序职责
- 实现主程序类
- 准备游戏精灵组
- 游戏主程序职责
-
游戏初始化
- 游戏循环
根据游戏主程序职责,设计PlaneGame 类
新建 Plane_main.py 主程序文件,在其中写入游戏主程序
- 注意: 在Python程序命名或者导入模块时一定要注意大小写,不然会出现一些错误
可以参考Python 命名规范 :Python命名规范
附上代码 ,里面有注释,都挺详细的
plane_main 游戏主程序
# -*- coding: utf-8 -*- import pygame from plane_sprites import * class PlaneGame(object): """ 飞机大战主游戏 """ def __init__(self): print("游戏初始化...") # 1.创建游戏窗口 self.screen = pygame.display.set_mode(SCREEN_RECT.size) # 2.创建游戏时钟 self.clock = pygame.time.Clock() # 3.调用私有方法,创建精灵和精灵组 self.__create_sprites__() def __create_sprites__(self): pass def start_game(self): print("游戏开始...") while True: # 1. 设置刷新帧率 self.clock.tick(FRAME_PER_SEC) # 2. 事件监听 self.__event_handler__() # 3. 碰撞检测 self.__check_collide__() # 4. 绘制/更新精灵组 self.__update_sprites__() # 5. 更新显示 pygame.display.update() pass def __event_handler__(self): for event in pygame.event.get(): if event.type == pygame.QUIT: PlaneGame.__game_over__() def __check_collide__(self): pass def __update_sprites__(self): pass # 定义静态方法,因为不需要用到类属性 @staticmethod def __game_over__(): print("游戏结束!") pygame.quit() exit() if __name__ == '__main__': # 创建游戏对象 game = PlaneGame() # 启动游戏 game.start_game()
plane_sprites.py 精灵组工具包
# -*- coding: utf-8 -*- import pygame # 创建屏幕大小的常量 SCREEN_RECT = pygame.Rect(0, 0, 480, 700) # 刷新帧率常量 FRAME_PER_SEC = 60 class GameSprite(pygame.sprite.Sprite): """ 飞机大战游戏精灵 """ def __init__(self, image_name, speed=1): # 调用父类的初始化方法 super().__init__() # 定义属性 self.image = pygame.image.load(image_name) self.rect = self.image.get_rect() self.speed = speed def update(self, *args): # 在垂直方向向上移动 self.rect.y += self.speed
休息。。。。。。
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 学习Python之小练习(飞机大战)(7)
- 学习Python之小练习(飞机大战)(6)
- 学习Python之小练习(飞机大战)(5)
- 基于Python的opencv学习练习(七)二值化
- 学习:Python练习
- 基于Python的opencv学习练习(十二) findContours()轮廓与绘制drawContours()
- python系统学习+练习
- 学习python(4) 练习词典功能 查询增加删除更新
- Python学习打卡--day24(基础练习:列表和元素)
- Python学习打卡--day25(基础练习:字典和元组)
- Python学习打卡--day36(算法练习:计算 n 个自然数的立方和 )
- 移除连续重复的字符串元素 分类: python 小练习 python基础学习 divide into python 2014-01-01 15:53 392人阅读 评论(0) 收藏
- 笨方法学习Python-习题24: 更多练习
- Python计算机视觉编程练习4:glob模块学习
- python的GUI编程--wxpython学习(四)-->练习:一个自动测试app启动时间的小工具
- python学习之相关练习
- 递归调用输出元素 分类: python 小练习 python基础学习 2013-06-30 11:54 278人阅读 评论(0) 收藏
- Python计算机视觉编程练习10:csv 模块学习
- 继承父类,调用父类中的方法 分类: python 小练习 python基础学习 2014-01-10 17:54 325人阅读 评论(0) 收藏
- Python学习打卡--day31(基础练习:calendar库)