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

哪做网站便宜wordpress 分类文章置顶

哪做网站便宜,wordpress 分类文章置顶,电商网站开发教程,wordpress 外链 图片前言 上一篇文章中#xff0c;我们成功的设置好了游戏窗口的背景颜色#xff0c;并且在窗口底部中间位置将飞船加载出来了。 今天#xff0c;我们将通过代码让飞船移动。 移动飞船 想要移动飞船#xff0c;先要明白飞船位置变化的本质是什么。 通过上一篇文章#xff0…前言 上一篇文章中我们成功的设置好了游戏窗口的背景颜色并且在窗口底部中间位置将飞船加载出来了。 今天我们将通过代码让飞船移动。 移动飞船 想要移动飞船先要明白飞船位置变化的本质是什么。 通过上一篇文章我们已经知道了飞船实际上是通过在窗口指定x,y坐标轴位置渲染出的一张外接矩形的图片。外接矩形的图片就是飞船的本质移动飞船的本质就是移动这张图片。 怎么移动飞船? 在理解了移动飞船的本质就是移动图片后我们要做的就是使用代码实现图片移动的功能。而图片的渲染是通过图片外接矩形的坐标调用blit函数实现的所以我们想要移动图片,就要修改飞船图片外接矩形的坐标实现具体到我们的代码就是通过修改属性self.rect.centerx和self.rect.bottom的值调用blit函数重新加载图片从而实现图片的移动展现出飞船移动的效果。 飞船x,y值变化反馈到飞船移动的方向如下不要搞混了窗口左上顶点的坐标是(0,0) 向右移动x坐标值增加向左移动x坐标值减少向上移动y坐标值减少向下移动y坐标值增加 代码编写 在之前基础模块的编写中我们已经定义了一个move函数并且用pass进行占位那么我们就要对这个函数进行业务代码实现编写。 首先我们需要定义四个标识字段这几个字段用于标识飞船当前应该往哪移动。这四个字段属于飞船对象自身的属性。 # 移动标志self.moving_right Falseself.moving_left Falseself.moving_top Falseself.moving_bottom False我们在move函数中通过当前移动标志的值判断应该往哪里移动并且进行坐标值的修改。 def move(self):移动飞船if self.moving_right:self.rect.centerx 1if self.moving_left:self.rect.centerx - 1if self.moving_top:self.rect.bottom - 1if self.moving_bottom:self.rect.bottom 1函数修改好以后我们需要处理监听事件中按键相关的时候。我们按下对应的方向键按钮以后需要将对应方向移动标识设置与True弹起按键时设置移动标识为False。 def check_event(ship):for event in pygame.event.get():if event.type pygame.QUIT:pygame.quit()sys.exit()elif event.type pygame.KEYDOWN:if event.key pygame.K_RIGHT:ship.moving_right Trueelif event.key pygame.K_LEFT:ship.moving_left Trueelif event.key pygame.K_UP:ship.moving_top Trueelif event.key pygame.K_DOWN:ship.moving_bottom Trueelif event.key pygame.K_q:pygame.quit()elif event.type pygame.KEYUP:if event.key pygame.K_RIGHT:ship.moving_right Falseelif event.key pygame.K_LEFT:ship.moving_left Falseelif event.key pygame.K_UP:ship.moving_top Falseelif event.key pygame.K_DOWN:ship.moving_bottom False在监听事件之后屏幕更新之前调用飞船的move函数。 def run_game():启动游戏# 初始化pygamepygame.init()# 定义一个系统设置对象setting Setting()# 新建窗口screen pygame.display.set_mode((setting.screen_width, setting.screen_height))# 窗口命名pygame.display.set_caption(setting.caption)# 定义一个飞船对象ship Ship(setting, screen)while True:# 处理监听事件gf.check_event(ship)# 移动飞船ship.move()# 刷新屏幕gf.update_screen(setting, screen, ship)if __name__ __main__:run_game()这个时候只要你启动服务按下方向键你就可以自由的的控制你的飞船了。 边界问题 当你正开始的移动你的飞船的时候你会突然发现 实际上是你的飞船越过了窗口的边界导致你的飞船消失不见了。因为pygame所有图形和游戏逻辑都将基于这个窗口大小进行计算和渲染。 这个问题怎么解决呢很简单在飞船移动的函数中定义超过边界不允许移动。 优化代码如下 def move(self):移动飞船if self.moving_right and self.rect.right self.screen_rect.right:self.rect.centerx 1if self.moving_left and self.rect.left self.screen_rect.left:self.rect.centerx - 1if self.moving_top and self.rect.top self.screen_rect.top:self.rect.bottom - 1if self.moving_bottom and self.rect.bottom self.screen_rect.bottom:self.rect.bottom 1代码中的修改就是对修改坐标的条件增加了一个对应方向的限制。 代码解释如下 向右移动时飞船的右边界要在游戏窗口的右边界左边才运行飞船向右移动向左移动时飞船的左边界要在游戏窗口的左边界右边才运行飞船向左移动向上移动时飞船的上边界要在游戏窗口的上边界下边才运行飞船向左移动向下移动时飞船的下边界要在游戏窗口的下边界上边才运行飞船向左移动 重新启动你就会发现你的飞船在窗口边界不会再移动了。 结尾 那么到目前为止我们的飞船已经可以在游戏窗口内自由的移动了。 接下来就准备就让我们的飞船发射子弹。
http://www.hkea.cn/news/14522418/

相关文章:

  • 网站建设 服务内容 费用杭州萧山区专门做网站的公司
  • 网站怎么做百度认证湛江市律师网站建设品牌
  • 廊坊网站建设-纵横网络+网站做网站需要什么东西
  • 工业皮带怎么做免费的网站商业空间设计图片
  • 网站流量不够找人做网站属于了解些什么呢
  • 免费网站知乎怎么利用代码做网站
  • 北京微信网站设计logo多少钱
  • 关于网站建设管理的通知赤峰网站制作
  • 合肥网站建设搜王道下拉网站接口设置
  • cadisen卡迪森手表网站太原企业建站程序
  • 电子商务网站建设与规划视频甘肃临夏州建设局网站
  • 网站建设有哪些平台亦庄附近的网站建设公司
  • 大连网站建设选高合科技网站快速被收录
  • 新网站如何推广公司推广宣传文案
  • 石基网站建设在阿里巴巴上做网站有效果吗
  • 网站开发公司目前主营业务网站弹窗公告代码
  • 魏县网站建设推广中国建设银行官网网址多少
  • 网站建设客户seo网站推广策略
  • 公司刚成立网站怎么做苏州模板网站专业设计
  • 南京建设网站需要多少钱开发微信小程序多少钱
  • 用域名和主机做网站的详细过程专业管网建设服务
  • 先建网站还是先做网页吐鲁番好网站建设设计
  • 怎么优化网站性能线下推广引流渠道
  • 如何注册网站怎么注册做网站分辨率多少
  • 下载中国建设银行官网站网站建设都用哪个好
  • 排名轻松seo 网站wordpress漏洞
  • 高校思政教育工作网站建设年度关键词
  • 网站建设注意哪些事项濮阳做网站优化
  • 河北百度推广建站之星网站 seo优化
  • 公司网站制作需要多少钱专业做网站排名的人