当前位置: 首页 > news >正文

网站建设 套格式做护肤的网站有哪些

网站建设 套格式,做护肤的网站有哪些,搭建平台筑巢引凤,企业网站开发实训目的目标背景交替滚动的思路确定显示游戏背景01#xff0c;背景交替滚动的思路确定运行 备课代码#xff0c;观察 背景图像的显示效果#xff1a;游戏启动后#xff0c;背景图像 会 连续不断地 向下方 移动在 视觉上 产生英雄的飞机不断向上方飞行的 错觉 - - 在很多跑酷游戏中…目标背景交替滚动的思路确定显示游戏背景01背景交替滚动的思路确定运行 备课代码观察 背景图像的显示效果游戏启动后背景图像 会 连续不断地 向下方 移动在 视觉上 产生英雄的飞机不断向上方飞行的 错觉 - - 在很多跑酷游戏中常用的套路游戏的背景 不断变化游戏的主角 位置保持不变1.1 实现思路分析解决方法1创建两张背景图像精灵第 1 张 完全和屏幕重合第 2 张在 屏幕的正上方2两张图像 一起向下方运动self.rect.y self.speed3当 任意背景精灵 的 rect.y 屏幕的高度 说明已经 移动到屏幕下方4将 移动到屏幕下方的这张图像 设置到 屏幕的正上方rect.y -rect.height1.2 设计背景类初始化方法直接指定 背景图片is_alt 判断是否是另一张图像False 表示 第一张图像需要与屏幕适合True 表示 另一张图像在屏幕的正上方update() 方法-判断 是否移动出屏幕如果是将图像设置到 屏幕的正上方从而实现 交替滚动继承 如果是父类提供的方法不能满足子类的需求派生一个子类在子类中针对特有的需求重写父类方法并且进行扩展02显示游戏背景2.1 背景精灵的基本实现在 plane_sprites 新建 Background 继承自 GameSpriteplane_sprites.pyimport pygame# 屏幕大小的常量SCREEN_RECT pygame.Rect(0, 0, 480, 700)# 刷新的帧率FRAME_PER_SEC 60class GameSprite(pygame.sprite.Sprite):飞机大战游戏精灵def __init__(self, image_name, speed1):# 调用父类的初始化方法super().__init__()# 定义对象的属性self.image pygame.image.load(image_name)self.rect self.image.get_rect()self.speed speeddef update(self, *args):# 在屏幕的垂直方向上移动self.rect.y self.speedclass Background(GameSprite):游戏背景精灵def update(self, *args):# 1调用父类的方法实现super().update()# 2判断是否移除屏幕如果移出屏幕将图像设置到屏幕上方if self.rect.y SCREEN_RECT.height:self.rect.y -self.rect.height2.2 在 plane_main.py 中显示背景精灵1在 __create_sprites 方法中创建 精灵 和 精灵组2在 __update_sprites 方法中让 精灵组 调用 update() 和 draw() 方法注 __create_sprites 方法def __update_sprites(self):self.back_group.update()self.back_group.draw(self.screen)plane_main.pyimport pygamefrom Aircraft_War.plane_sprites import *class PlaneGame(object):飞机大战主游戏def __init__(self):print(游戏初始化)# 1创建游戏的窗口# self.screen pygame.display.set_mode((480, 700))self.screen pygame.display.set_mode(SCREEN_RECT.size)# 2创建游戏的时钟self.clock pygame.time.Clock()# 3调用私有方法 精灵和精灵组的创建self.__create_sprites()def __create_sprites(self):bg1 Background(./images/background.png)bg2 Background(./images/background.png)bg2.rect.y -bg2.rect.heightself.back_group pygame.sprite.Group(bg1, bg2)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()def __event_handler(self):for event in pygame.event.get():# 判断是否退出游戏if event.type pygame.QUIT:PlaneGame.__game_over()def __check_collide(self):passdef __update_sprites(self):self.back_group.update()self.back_group.draw(self.screen)staticmethoddef __game_over():print(游戏结束)pygame.QUIT()exit()if __name__ ‘__main__‘:# 创建游戏对象game PlaneGame()# 启动游戏game.start_game()2.3 利用初始化方法简化背景精灵创建思考 - - 上一小节完成的代码存在什么问题是否可以简化?在主程序中创建的 两个背景精灵传入了相同的图像文件路径创建 第二个 背景精灵 时在主程序中设置背景精灵的图像位置思考 - - 精灵 初始位置 的设置应该 由主程序负责 还是 由精灵自己负责答案 - - 由精灵自己负责根据面向对象设计原则应该将对象的职责封装到类的代码内部尽量简化程序调用一方的代码调用初始化方法直接指定 背景图片is_alt 判断是否是另一张图像False 表示 第一张图像需要与屏幕重合True 表示 另一张图像在屏幕的正上方在 plane_sprites.py 中实现 Background 的plane_sprites.pyimport pygame# 屏幕大小的常量SCREEN_RECT pygame.Rect(0, 0, 480, 700)# 刷新的帧率FRAME_PER_SEC 60class GameSprite(pygame.sprite.Sprite):飞机大战游戏精灵def __init__(self, image_name, speed1):# 调用父类的初始化方法super().__init__()# 定义对象的属性self.image pygame.image.load(image_name)self.rect self.image.get_rect()self.speed speeddef update(self, *args):# 在屏幕的垂直方向上移动self.rect.y self.speedclass Background(GameSprite):游戏背景精灵def __init__(self, is_altFalse):# 1调用父类方法实现精灵的创建(image/rect/speed)super().__init__(./images/background.png)# 2判断是否交替图像如果是需要设置初始位置if is_alt:self.rect.y -self.rect.heightdef update(self, *args):# 1调用父类的方法实现super().update()# 2判断是否移除屏幕如果移出屏幕将图像设置到屏幕上方if self.rect.y SCREEN_RECT.height:self.rect.y -self.rect.heightplane_main.pyimport pygamefrom Aircraft_War.plane_sprites import *class PlaneGame(object):飞机大战主游戏def __init__(self):print(游戏初始化)# 1创建游戏的窗口# self.screen pygame.display.set_mode((480, 700))self.screen pygame.display.set_mode(SCREEN_RECT.size)# 2创建游戏的时钟self.clock pygame.time.Clock()# 3调用私有方法 精灵和精灵组的创建self.__create_sprites()def __create_sprites(self):bg1 Background()bg2 Background(True)self.back_group pygame.sprite.Group(bg1, bg2)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()def __event_handler(self):for event in pygame.event.get():# 判断是否退出游戏if event.type pygame.QUIT:PlaneGame.__game_over()def __check_collide(self):passdef __update_sprites(self):self.back_group.update()self.back_group.draw(self.screen)staticmethoddef __game_over():print(游戏结束)pygame.QUIT()exit()if __name__ ‘__main__‘:# 创建游戏对象game PlaneGame()# 启动游戏game.start_game()
http://www.yutouwan.com/news/327802/

相关文章:

  • 爱站网长尾关键词挖掘工具的作用深圳软件定制公司
  • 秋实网站建设温州网站建设免费咨询
  • 南京建设网站首页淘宝网站是怎么做的
  • 文明网i中国精神文明建设门户网站如何在手机上学编程
  • 做网站 学php哪一部分个人网站设计论文ppt
  • 珍佰农 商城网站建设网站的域名做邮箱
  • 百度收录比较好的网站可以发外链的网站或平台有哪些
  • 韩国的小游戏网站江西医疗网站备案前置审批
  • 企业网站营销推广方案多少钱
  • ps做网站首页怎么运用起来mixkit免费高清视频素材
  • 泰州网站建设案例杭州公司建站模板
  • 电子商务是建网站网站名和域名能一样吗
  • 生产备案号怎么查询网站化学药品购买网站
  • 400网站建设办公视频8首页制作代码
  • 海口网站建设维护策划方案
  • 网站制作思路wordpress安全登录插件下载失败
  • 做民宿推广都有哪些网站杭州网站做的好公司
  • 长清治做网站舆情管理
  • 文昌湖城乡建设局网站网络营销公司业务范围
  • 电子商务网站的管理免费发布企业信息平台
  • 定制高端网站建设公司企业网站改版的好处
  • 万网怎么发布网站wordpress 优惠券 插件
  • 汕头市澄海区建设局网站采招网招标官网
  • 建设银行网站入口wordpress修改模板文件
  • 武昌做网站哪家好wordpress+解密成md5
  • 方案案例网站房地产迎来4个好消息
  • 探测网站是什么程序做的wordpress 修改轮播
  • 十大中文网站排名免费做网站凡科
  • 清丰网站建设费用影视制作公司简介
  • 杨浦网站建设哪家好wordpress上传视频失败