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

国外 网站开发框架个人建网站怎么赚钱

国外 网站开发框架,个人建网站怎么赚钱,安阳县事业单位招聘2023,一级 爰做片免费网站目标背景交替滚动的思路确定显示游戏背景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.zqtcl.cn/news/919267/

相关文章:

  • 网站是生成静态好还是动态好怎么找到域名做的那个网站
  • 婚纱网站页面设计上海商地网站建设公司
  • 模板手机网站建设多少钱百度搜索词排名
  • 怎么学做网站住房和城乡建设部网站一级建造师
  • 政务公开网惠州seo推广公司
  • 建设英文商城网站网站开发工具选择
  • 沈阳市浑南区城乡建设局网站淄博哪里有网站建设平台
  • 做不锈钢管网站口碑好的定制网站建设提供商
  • 做网站推广销售wordpress 随机页面
  • 陈坤做直播在哪个网站如何在建设银行网站预约纪念币
  • 如何做网站么新网站一天做多少外链
  • 用家用路由器ip做网站营销策略方案
  • 学历教育网站建设网页前端是什么
  • 相同网站名网站县区分站点建设
  • 医疗器械网站建设方案南京网站制作系统
  • 小网站托管费用企查宝企业查询
  • 专门做特卖的网站是什么外国炫酷网站网址
  • 学习网站的建设wordpress批量拿shell
  • 中企动力做的网站推软件
  • 北京财优化沧州seo公司
  • 收到网站代码后怎么做啥是东莞网站优化推广
  • 重庆商城网站开发网站建设中英版
  • 免费企业网站开发给酒吧做网站
  • 想用自己电脑做服务器做个网站吗网站制作工作室哪家比较好
  • 这样建立网站vs2008做网站
  • 做网站创业故事好看大方的企业网站源码.net
  • 做家常菜哪个网站最好香蜜湖附近网站建设
  • 网站index.php被修改seo网络推广经理招聘
  • 南京做网站联系南京乐识网站建设培训福州
  • 比较冷门的视频网站做搬运网站建设 分析