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

前方网络网站建设合同南宁做网站费用

前方网络网站建设合同,南宁做网站费用,快速优化官网,团购网站建设敌人的创建 1.敌人添加与组件设置 1#xff09;添加敌人后#xff0c;刚体添加#xff0c;碰撞体添加#xff08;一个碰撞体使猪在地上走#xff0c;不接触人#xff0c;另一个碰撞体组件使人和猪碰在一起产生伤害#xff09; ①刚体 ②碰撞体一 设置的只在脚下添加敌人后刚体添加碰撞体添加一个碰撞体使猪在地上走不接触人另一个碰撞体组件使人和猪碰在一起产生伤害 ①刚体 ②碰撞体一 设置的只在脚下只需要敌人可以站在场景中就可以 但存在添加碰撞体积后会和其他移动的人物或敌人产生碰撞使得无法擦肩而过的效果通过组件中的layer overrides解决敌人与player碰撞问题通过触发器trigger解决人物碰到猪以后掉血的情况 layer overrides 注意低版本譬如2022.1.24unity编辑器在box collider组件中没有layer overrides需要安装新的editor重新打开项目。版本可能不适应换了许多版本editor用最新的。 1.图层重载是指在layer中可以剔除掉不想发生碰撞的角色 2.添加两种图层类型 不需要与player和enemy产生碰撞则增加这两种图层类型 3.选中敌人赋值同理选中玩家 4.给猪剔除这两种图层 trigger ③ 碰撞体二 猪是触发器成为触发器后猪就没有碰撞体积了 可以触发到猪的不包含enemy防止敌人之间相互碰撞产生伤害 添加代码测试触发器的触发 用方法OnTriggerStay2D private void OnTriggerStay2D(Collider2D collision) {Debug.Log(collision.name); }可见触发器在接触到没有被屏蔽的碰撞体时被触发了 解决报错 Screen position out of view frustum 方法 增大摄像机的size 人物属性设置、遇敌掉血 1.代码创建 在人物与敌人身上都需要挂这个代码用于记录人物最大血量与当前血量等属性 例如 public class Character : MonoBehaviour {[Header(基本属性)]public float maxHealth;public float currentHealth; }2.在每一次触发攻击时减少character中的当前血量 创建attack脚本 攻击属性一般包括伤害、攻击范围、攻击频率等此次添加猪给人的接触伤害挂在猪身上 猪的攻击每次接触到人就会持续被触发触发后对触发者中扣血函数进行调用 public class Attack : MonoBehaviour {public int damage;public float attackRange;public float attackRate;//作为触发器被别的碰撞体collition触发后collition会扣血private void OnTriggerStay2D(Collider2D collision){collision.GetComponentCharacter().TakeDamage(this); } } player的受伤代码 public class Character : MonoBehaviour {[Header(基本属性)]public float maxHealth;public float currentHealth;private void Start(){currentHealth maxHealth;}//受伤public void TakeDamage(Attack attacker){currentHealth currentHealth - attacker.damage;} }3.扣血过多计时器 设置一次受伤后触发无敌状态 Time.deltaTime 时间的修正完成上一帧所用的时间s 触发伤害过程触发检测是否为无敌状态 无敌状态直接返回 不是无敌状态触发一次伤害进入无敌状态无敌状态计时器开始倒数倒数到0脱离无敌状态此时又可以受伤害了。 public class Character : MonoBehaviour {[Header(基本属性)]public float maxHealth;public float currentHealth;[Header(无敌状态)]//无敌时间public float invulnerableTime;//计时器private float invulnerableCounter;//状态public bool invulnerable;private void Start(){currentHealth maxHealth;}//每次update都检测是否为无敌状态private void Update(){if (invulnerable){invulnerableCounter - Time.deltaTime;if (invulnerableCounter 0){invulnerable false;}}}//受伤public void TakeDamage(Attack attacker){//如果无敌则直接返回if (invulnerable){return;}//Debug.Log(attacker.damage);currentHealth currentHealth - attacker.damage;//触发一次伤害就变成无敌triggerInvulnerable();}//触发无敌状态函数private void triggerInvulnerable(){if (!invulnerable){invulnerable true;invulnerableCounter invulnerableTime;}} }对于以下代码需要确定触发触发器的碰撞体上含有组件脚本Character 如果对方没有这个脚本在被触发时会报错 private void OnTriggerStay2D(Collider2D collision) {collision.GetComponentCharacter().TakeDamage(this); }解决方法 添加对对方是否存在该组件的判断 检测血量扣血不要减到0还在减少 增加判断如果血量大于一次伤害则扣血如果不大于则归零 public void TakeDamage(Attack attacker) {//如果无敌则直接返回if (invulnerable){return;}if (currentHealth - attacker.damage 0){currentHealth - attacker.damage;}elsecurrentHealth 0;//触发一次伤害就变成无敌TriggerInvulnerable(); }
http://www.zqtcl.cn/news/247565/

相关文章:

  • 网站首页尺寸做电影下载网站赚钱
  • 福州企业网站开发宁德市医院东侨院区
  • 昭通公司做网站ps在线网页版
  • 做阿里巴巴网站费用吗深圳市企业名录
  • 做仿牌网站被封动态公司网站设计
  • 怎么用flashfxp上传网站ui设计需要学哪些课程
  • 片头网站一个主机放多个网站
  • 商城网站一般建设的宽度网站开发图标
  • 做名片哪个网站可以找win7优化大师免安装版
  • 建筑网库网络优化的基本方法
  • 汕头市品牌网站建设公司做外贸那个网站比较好
  • 网站的好坏wordpress 页面制作
  • 成都网站建设熊掌号WordPress模板博客主题
  • 西宁网站建设有限公司个人建站提供软件下载
  • 商丘哪里教做网站的绵阳市三台县城乡建设局网站
  • 百度seo整站优化公司岳阳网站开发收费
  • 阳江市人才招聘网新乡网站关键词优化
  • 襄阳做公司网站的软件公司简单网页html模板
  • 有网站如何做app开发公司认领工程网站
  • 济宁网站建设云科网络wordpress幻灯片简码
  • 国外做问卷网站好生产企业展厅设计
  • 提供网站制作公司报价长治网站制作平台
  • 丹东网站开发网站关键词和网页关键词的样本
  • 表白网站在线制作软件北京市轨道交通建设管理有限公司网站
  • asp做微网站设计网站有必要备案吗
  • 网站建设推广营销策划广州在线网页制作
  • photoshop怎么做网站局域网内用自己电脑做网站
  • 四会网站建设服装店网站建设规划书
  • 网站规范化建设海南百度网站建设
  • 商业网站建设设计公司平面ui设计网站