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

企业网站建设劣势东莞网站优化费用

企业网站建设劣势,东莞网站优化费用,详情页模板软件,wordpress大数据学习 Python 之 Pygame 开发魂斗罗#xff08;十#xff09;继续编写魂斗罗1. 解决敌人不开火的问题2. 创建爆炸效果类3. 为敌人跳入河中增加爆炸效果4. 玩家击中敌人继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗#xff08;九#xff09;中#xff0c;… 学习 Python 之 Pygame 开发魂斗罗十继续编写魂斗罗1. 解决敌人不开火的问题2. 创建爆炸效果类3. 为敌人跳入河中增加爆炸效果4. 玩家击中敌人继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗九中我们让敌人能发射子弹能移动这次我们给敌人加上可以被消灭 下面是图片的素材 链接https://pan.baidu.com/s/1X7tESkes_O6nbPxfpHD6hQ?pwdhdly 提取码hdly 1. 解决敌人不开火的问题 不知道为什么我这次运行代码发现敌人一直不开火如果你也遇到了来看看如何解决吧 当我们运行游戏后出现了敌人不开火的问题我们进入敌人1类的fire()函数 加入一行代码看看是否能进入开火的条件 运行游戏后发现这个变量一直是True所以无法进入下面的if语句 我们看看哪里修改了这个变量 我们找到修改变量值的地方在主类的updateEnemyPosition()函数中 当敌人进行垂直碰撞检测时如果敌人脚下没有碰撞体那么就判定敌人是下落状态于是敌人的isFalling变量为True了但是如果敌人脚下有碰撞体我们应该把isFalling变成True不然敌人就一直处于下落状态那么就永远不会开火了 所以我们加入下方的代码这样问题就解决了 我们要想一想为什么敌人会处于下落状态敌人出来后并没有到达悬崖边那么是如何处于下落状态的呢 原来是我们产生敌人的位置距离下方的碰撞体有几个像素当敌人产生后下方距离碰撞体有点距离所以就变了下落状态又因为陆地碰撞体敌人碰到后不会死亡所以敌人就会出现不会开火的情况 这个问题解决后下面我们来写子弹击中敌人 2. 创建爆炸效果类 敌人死亡时会有爆炸特效所以我们要先创建爆炸效果类然后才能写敌人死亡的逻辑 首先在Constants.py中加入爆炸效果的类型在魂斗罗中第一关桥也会爆炸BOSS死亡后也会爆炸敌人死亡也会爆炸但是他们的爆炸特效不一样所以我们要加入一个枚举类用来枚举出各种爆炸效果 class ExplodeVariety(Enum):CIRCLE 1BRIDGE 2这里说明了两种爆炸效果一种是敌人死亡的圆圈爆炸还有一种是桥的爆炸 下面这个是桥爆炸的特效 下面是敌人死亡的特效 接下来就可以创建爆炸效果类了 class Explode:def __init__(self, object, variety ExplodeVariety.CIRCLE, isUseTime False):# 获取爆炸对象的位置self.rect object.rectif variety ExplodeVariety.CIRCLE:self.images [loadImage(../Image/Explode/circleExplode1.png),loadImage(../Image/Explode/circleExplode1.png),loadImage(../Image/Explode/circleExplode1.png),loadImage(../Image/Explode/circleExplode1.png),loadImage(../Image/Explode/circleExplode2.png),loadImage(../Image/Explode/circleExplode2.png),loadImage(../Image/Explode/circleExplode2.png),loadImage(../Image/Explode/circleExplode2.png),loadImage(../Image/Explode/circleExplode3.png),loadImage(../Image/Explode/circleExplode3.png),loadImage(../Image/Explode/circleExplode3.png),loadImage(../Image/Explode/circleExplode3.png),]elif variety ExplodeVariety.BRIDGE:self.images [loadImage(../Image/Explode/bridgeExplode1.png),loadImage(../Image/Explode/bridgeExplode2.png),loadImage(../Image/Explode/bridgeExplode3.png),]self.index 0self.image self.images[self.index]self.isDestroy Falseself.isUseTime isUseTimeself.lastTime Nonedef draw(self, window, currentTime None):if self.isUseTime:if currentTime - self.lastTime 115:# 根据索引获取爆炸对象, 添加到主窗口# 让图像加载五次这里可以换成五张大小不一样的爆炸图片可以实现让爆炸效果从小变大的效果if self.index len(self.images):self.image self.images[self.index]self.index 1window.blit(self.image, self.rect)else:self.isDestroy Trueself.index 0self.lastTime currentTimeelse:window.blit(self.image, self.rect)else:# 根据索引获取爆炸对象, 添加到主窗口# 让图像加载五次这里可以换成五张大小不一样的爆炸图片可以实现让爆炸效果从小变大的效果if self.index len(self.images):self.image self.images[self.index]self.index 1window.blit(self.image, self.rect)else:self.isDestroy Trueself.index 0每种爆炸效果是多张图片为了让爆炸效果的显示的顺畅一点我给敌人死亡的爆炸效果多加入了几张重复的图片这样运行起来爆炸效果比较好当然也可以使用帧率来控制 桥的爆炸效果我用的帧率来控制所以有个变量isUseTime如果是True表示用游戏中的时间来控制图片的加载 3. 为敌人跳入河中增加爆炸效果 首先在主类中增加爆炸效果列表 其次创建显示爆炸效果函数 def drawExplode(explodeList):for explode in explodeList:if explode.isDestroy:explodeList.remove(explode)else:if explode.isUseTime:explode.draw(MainGame.window, pygame.time.get_ticks())else:explode.draw(MainGame.window)这里由于isUseTime为True时draw()函数需要多传入一个参数所以要写if-else语句 最后在主类中调用显示爆炸特效函数和给敌人加入爆炸特效 给敌人进入河中加入爆炸特效 接下来我们运行一下游戏看看效果 发现敌人落到河里就爆炸啦 4. 玩家击中敌人 下面给添加玩家子弹击中敌人敌人死亡 进入子弹类添加函数 def collideEnemy(self, enemyList, explodeList):for enemy in enemyList:if pygame.sprite.collide_rect(self, enemy):self.isDestroy Trueenemy.isDestroy TrueexplodeList.append(Explode(enemy))遍历敌人列表如果当前的子弹碰到了敌人那么就加入爆炸特效让敌人的isDestroy为True 然后在主类的drawPlayerOneBullet()函数中调用函数 接下来运行一下 ok我们就实现了
http://www.hkea.cn/news/14469137/

相关文章:

  • 潍坊定制网站搭建智慧团建官网登录口
  • wrix 网站开发胶州市住房建设局网站
  • 网站管理 设置开启网站建设规模与类别
  • 什么叫网站策划书网页游戏开发技术
  • 南昌网站建设方案报价amh wordpress伪静态
  • 贵州省建设厅审图网站网站设计会存在什么问题
  • 制定一份网站界面设计方案最新注册的公司在哪里可以查询
  • ci框架建设网站一般app需要多少钱
  • 网站做跳转的要求网站建设要什么知识
  • 网站备案最快erp系统可以自学吗
  • 网站设计制作价格怎么算wordpress 用户 id
  • 东莞技术网站建设jsp 网站开发环境
  • 找人做个网站大概多少钱书店商城网站html模板下载
  • 网站的资讯内容百度认证怎么认证
  • 宁波网站制作价格网站怎么备案在哪里下载
  • 黄页网站推广app咋做广告问信息奥赛题怎么做 去哪个网站
  • 做网站用什么框架最方便域名注册成功后怎么使用网站
  • 企业网站建立教程strikingly建站怎么样
  • 音酷网站建设网站开发服务费会计分录
  • 南充网站建设价格免费的网站推广渠道
  • 贵港市城乡住房建设厅网站阿里云万网域名
  • 网站域名注册步骤做网站的电脑
  • 益阳市 网站建设南宁seo计费管理
  • 广西崇左市住房和城乡建设局网站在哪个网站上可以找兼职做
  • 珠海企业网站建设费用事业单位 网络网站建设
  • 旅游网站建设课程设计报告济南建设信用网
  • 爱论网钦州seo
  • 花都网站建设策划电商网站设计岗位主要是
  • 最好用的网站开发软件怎样做网络推广甄选广州豪升网络
  • asp怎么做网站适配wordpress主题sleo