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

怎么做网站排名吉林省吉林市有几个区

怎么做网站排名,吉林省吉林市有几个区,城乡建设局官方网站,怎么修改网站标题关键词描述文章目录 play按钮重置游戏提高等级游戏完成 我们会添加一个Play按钮#xff0c;用于根据需要启动游戏以及在游戏结束后重启游戏#xff0c;还会修改这个游戏#xff0c;使其随玩家等级提高而加快节奏。 play按钮 添加一个Play按钮#xff0c;它在游戏开始前出现#xff… 文章目录 play按钮重置游戏提高等级游戏完成 我们会添加一个Play按钮用于根据需要启动游戏以及在游戏结束后重启游戏还会修改这个游戏使其随玩家等级提高而加快节奏。 play按钮 添加一个Play按钮它在游戏开始前出现并在游戏结束后再次出现让玩家能够开始新游戏 让游戏一开始处于非活动状态并提示玩家单击Play按钮来开始游戏 game_stats.py def __init__(self, ai_game):初始化统计信息。self.settings ai_game.settingsself.reset_stats()# 让游戏一开始处于非活动状态。self.game_active False于Pygame没有内置创建按钮的方法我们将编写一个Button类用于创建带标签的实心矩形 创建方法draw_button() 用于将这个按钮显示到屏幕 import pygame.font class Button:def __init__(self, ai_game, msg):初始化按钮的属性。self.screen ai_game.screenself.screen_rect self.screen.get_rect()# 设置按钮的尺寸和其他属性。self.width, self.height 200, 50self.button_color (0, 255, 0)self.text_color (255, 255, 255)self.font pygame.font.SysFont(None, 48)# 创建按钮的rect对象并使其居中。self.rect pygame.Rect(0, 0, self.width, self.height)self.rect.center self.screen_rect.center# 按钮的标签只需创建一次。self._prep_msg(msg)def _prep_msg(self, msg):将msg渲染为图像并使其在按钮上居中。self.msg_image self.font.render(msg, True, self.text_color,self.button_color)self.msg_image_rect self.msg_image.get_rect()self.msg_image_rect.center self.rect.centerdef draw_button(self):# 绘制一个用颜色填充的按钮再绘制文本。self.screen.fill(self.button_color, self.rect)self.screen.blit(self.msg_image, self.msg_image_rect)在AlienInvasion 中使用Button 类来创建一个Play按钮 def __init__(self):--snip--self._create_fleet()# 创建Play按钮。self.play_button Button(self, Play)在_update_screen() 对其调用方法draw_button() def _update_screen(self):更新屏幕上的图像并切换到新屏幕。self.screen.fill(self.settings.bg_color)self.ship.blitme()for bullet in self.bullets.sprites():bullet.draw_bullet()self.aliens.draw(self.screen)# 如果游戏处于非活动状态就绘制Play按钮。if not self.stats.game_active:self.play_button.draw_button()pygame.display.flip()玩家单击Play按钮时开始新游戏在_check_events() 末尾添加如下elif 代码块以监视与该按钮相关的鼠标事件 def _check_events(self):响应按键和鼠标事件。for event in pygame.event.get():if event.type pygame.QUIT:sys.exit()elif event.type pygame.KEYDOWN:self._check_keydown_events( event)elif event.type pygame.KEYUP:self._check_keyup_events( event)elif event.type pygame.MOUSEBUTTONDOWN:mouse_pos pygame.mouse.get_pos()self._check_play_button(mouse_pos)方法_check_play_button() 的代码如下将它放在_check_events() 后面 def _check_play_button(self, mouse_pos):在玩家单击Play按钮时开始新游戏。if self.play_button.rect.collidepoint(mouse_pos):self.stats.game_active True这里使用了rect 的方法collidepoint() 检查鼠标单击位置是否在Play按钮的rect 内 重置游戏 为在玩家每次单击Play按钮时都重置游戏需要重置统计信息、删除现有的外星人和子弹、创建一群新的外星人并让飞船居中 def _check_play_button(self, mouse_pos):在玩家单击Play按钮时开始新游戏。if self.play_button.rect.collidepoint(mouse_pos):# 重置游戏统计信息。self.stats.reset_stats()self.stats.game_active True# 清空余下的外星人和子弹。self.aliens.empty()self.bullets.empty()# 创建一群新的外星人并让飞船居中。self._create_fleet()self.ship.center_ship()当前存在一个问题即便Play按钮不可见玩家单击其所在的区域时游戏依然会做出响应。游戏开始后如果玩家不小心单击了Play按钮所处的区域游戏将重新开始 def _check_play_button(self, mouse_pos):在玩家单击Play按钮时开始新游戏。button_clicked self.play_button.rect.collidepoint(mouse_pos)if button_clicked and not self.stats.game_active:# 重置游戏统计信息。self.stats.reset_stats()self.stats.game_active True# 清空余下的外星人和子弹。self.aliens.empty()self.bullets.empty()# 创建一群新的外星人并让飞船居中。self._create_fleet()self.ship.center_ship()隐藏鼠标光标 def _check_play_button(self, mouse_pos):在玩家单击Play按钮时开始新游戏。button_clicked self.play_button.rect.collidepoint(mouse_pos)if button_clicked and not self.stats.game_active:...# 隐藏鼠标光标。pygame.mouse.set_visible(False)游戏结束后将重新显示光标让玩家能够单击Play按钮来开始新游戏。相关的代码如下 def _ship_hit(self):响应飞船被外星人撞到。if self.stats.ships_left 0:--snip--else:self.stats.game_active Falsepygame.mouse.set_visible(True)提高等级 将整群外星人消灭干净后玩家将提高一个等级但游戏的难度没变。下面来增加一点趣味性每当玩家将屏幕上的外星人消灭干净后都加快游戏的节奏让游戏玩起来更难。 class Settings:存储游戏《外星人入侵》中所有设置的类def __init__(self):初始化游戏的设置。# 屏幕设置self.screen_width 1200self.screen_height 800self.bg_color (230, 230, 230)#飞船移动速度self.ship_speed 5self.ship_limit 3#子弹设置self.bullet_speed 3.0self.bullet_width 3self.bullet_height 15self.bullet_color (60, 60, 60)self.bullets_allowed 50# 外星人设置self.alien_speed 1.0self.fleet_drop_speed 30# fleet_direction为1表示向右移为-1表示向左移。self.fleet_direction 1# 加快游戏节奏的速度。self.speedup_scale 1.1self.initialize_dynamic_settings()def initialize_dynamic_settings(self):初始化随游戏进行而变化的设置。self.ship_speed 1.5self.bullet_speed 3.0self.alien_speed 1.0# fleet_direction为1表示向右为-1表示向左。self.fleet_direction 1#在玩家的等级提高时提高飞船、子弹和外星人的速度def increase_speed(self):提高速度设置self.ship_speed * self.speedup_scaleself.bullet_speed * self.speedup_scaleself.alien_speed * self.speedup_scale在_check_bullet_alien_collisions() 中在整群外星人都被消灭后调用increase_speed() 来加快游戏的节奏 def _update_bullets(self):更新子弹的位置并删除消失的子弹。# 更新子弹的位置。self.bullets.update()# 删除消失的子弹。for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)# 检查是否有子弹击中了外星人。# 如果是就删除相应的子弹和外星人。self._check_bullet_alien_collisions()def _check_bullet_alien_collisions(self):响应子弹和外星人碰撞。# 删除发生碰撞的子弹和外星人。collisions pygame.sprite.groupcollide(self.bullets, self.aliens, True, True)if not self.aliens:# 删除现有的所有子弹并创建一群新的外星人。self.bullets.empty()self._create_fleet()self.settings.increase_speed()每当玩家开始新游戏时都需要将发生了变化的设置重置为初始值 def _check_play_button(self, mouse_pos):在玩家单击Play按钮时开始新游戏。button_clicked self.play_button.rect.collidepoint(mouse_pos)if button_clicked and not self.stats.game_active:# 重置游戏设置。self.settings.initialize_dynamic_settings()--snip--游戏完成 到目前为止这个小游戏 就可以不断的 玩了。可以根据需要调整各项参数。 源码下载地址点击下载
http://www.zqtcl.cn/news/903162/

相关文章:

  • 桔子建站是什么平台郑州公司注册网上核名
  • 网站开发技能有哪些网站建设艾金手指科杰
  • 网站建设挂什么费用网站建设学那些课
  • 网站定位与功能分析在互联网公司做网站
  • 安阳网站建设兼职做网站推广有哪些公司
  • 网站制作的一般过程怎么用手机搭建网站
  • 备案 网站名称 怎么改深圳建网站公司
  • html 企业网站模板网站策划书免费
  • 网站建设销售ppt拖拽建站系统源码
  • 网站托管费用多少网站的开发流程
  • 周到的商城网站建设北京品牌网站
  • 网站开发费用属于什么科目网站建设考试多选题
  • c asp做网站wordpress4.5.2文章采集
  • 百度网站建设电话建立网站站建设可以吗
  • 网站后台代码在哪修改网站如何做下一页
  • 网站开发职业要求百度推广代理商与总公司的区别
  • 西安网站建设中心网页 网 址网站区别
  • 技术支持东莞网站建设机械seo岗位是什么意思
  • 做商城网站需要备案什么域名硬件开发工具有哪些
  • 网络网站制作技巧wordpress全文
  • 韩国原生ip站群服务器左右悬停代码网站
  • 专门做广东11选5的网站网站 备案 营业执照
  • 免费扑克网站wordpress弹出服务协议窗口
  • 网站的反爬一般怎样做网站右键屏蔽
  • 茂名做网站dyiee青岛宣传片制作公司
  • 凡科网可以自己做网站吗编程常用网站
  • 做网站练手项目公司营业执照可以做几个网站
  • 聚通达网站建设网站并发要求
  • 网站建设预算申请如何写服装店网页设计素材
  • 做网站设计的公司柳州芜湖又出现一例