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

蓝色网站风格wordpress wp user

蓝色网站风格,wordpress wp user,洛阳 网站建设公司哪家好,wordpress用户邮箱验证码玩家血量控制 血条UI玩家Canvas下的Slider血量逻辑控制 子弹攻击掉血子弹发射者的区分玩家受伤逻辑子弹碰撞检测 效果 血条UI 和之前我们前面介绍的玩家武器弹夹UI的思路是一样的#xff0c;跟详细的细节可以参考博客Unity3D装弹和弹夹UI显示。 玩家Canvas下的Slider 之前玩… 玩家血量控制 血条UI玩家Canvas下的Slider血量逻辑控制 子弹攻击掉血子弹发射者的区分玩家受伤逻辑子弹碰撞检测 效果 血条UI 和之前我们前面介绍的玩家武器弹夹UI的思路是一样的跟详细的细节可以参考博客Unity3D装弹和弹夹UI显示。 玩家Canvas下的Slider 之前玩家界面的Canvas画布名字是“Canvas_GameUI”如果之前没有按照系列来的话可以自己右键-UI-Canvas创建一个。 在Canvas_GameUI下面右键-UI-Slider创建一个滑动条。重命名Slider为“HPSlider”方便阅读和项目管理。 对Slider进行简化把Handle Slider Area删了滑动条末尾小球用不上。把Fill Area中的Fill拖到和Backgroud平级Fill Area作用不大可以删掉只是更好约束了Fill的strech。 调整Fill和Background都为上下左右全伸展。 调整Fill和Background的背景颜色分别选择Image图像组件为素材TEX_White和TEX_Black。然后调整Fill的Image图像组件颜色为红色。 让血条常驻左下角通过修改属性中的锚点为左下角并调整到合适的位置和合适的位置。可以参考弹夹UI的位置坐标和大小做一个对称的效果。 血量UI就做好了。 血量逻辑控制 打开PlayerController 的代码添加如下变量。 public Slider HPSlider;// 血量Slider UI public float HP 100;// 当前血量 public float HP_Max 100;// 最大血量在Start函数的时候进行一些HPSlider的初始化工作。 void Start() {if (HPSlider){HPSlider.maxValue HP_Max;HPSlider.value HP;} }保存代码回到Unity中把HPSlider拖到代码上。 子弹攻击掉血 之前我们写过敌人攻击玩家的逻辑但是并没有给子弹附加让玩家掉血的效果。 之前子弹的逻辑是生成之后碰撞到的物体如果是敌人就让敌人掉血。 现在开始子弹除了要区别碰撞到的是敌人和玩家还要判断子弹是谁发射出来的。 玩家发出子弹对敌人才有用敌人发出的子弹对玩家才有用。 子弹发射者的区分 BulletController文件中在Class外面添加一个枚举类型enume记录子弹发出者。 设置为publice这样别的代码也能调用。 // 比用数字区分要更加直观public的话别的代码也能调用 // Player和Enemy都写因为之后还要写玩家被子弹伤害 public enum CharacterType {Player,Enemy }BulletController对象中设置一个CharacterType类型变量用来记录子弹是玩家发射的还是敌人发射的。 在玩家发射子弹和敌人发射子弹的时候给子弹设置对应的CharacterType用来记录发射者是什么类型。 WeaponController GameObject CreateBullet() {GameObject obj Instantiate(bullet, shootPoint);obj.GetComponentBulletController().characterType CharacterType.Player;// characterType赋值obj.GetComponentBulletController().bulletPool bulletPool;return obj; }EnemyWeaponController GameObject CreateBullet() {GameObject obj Instantiate(bullet, shootPoint);obj.GetComponentBulletController().characterType CharacterType.Enemy;// characterType赋值obj.GetComponentBulletController().bulletPool bulletPool;return obj; }玩家受伤逻辑 PlayerController写一个Damage函数模仿之前敌人受伤的逻辑写就可以了参考之前Unity3D 子弹攻击敌人掉血博客。 单独写一个Damage函数是为了方便子弹碰撞检测调用用的。 Damage函数逻辑如下每次受伤之后让HP减少即可暂时先不考虑HP为0后怎么办这个涉及到游戏管理也就Game Over后面会补充的。目前暂时HP为0后HP条就不变化了。 思路为每次受伤之后让HP减少减少为0后不变化。 PlayerController public void Damage(float damage) {if (HP 0){HP - damage;if (HPSlider)HPSlider.value HP;} }子弹碰撞检测 子弹碰撞检测时候识别一下发出者和碰撞对象。 发出者是玩家碰撞对象是敌人就让敌人掉血子弹销毁 发出者是敌人碰撞对象是玩家就让玩家掉血子弹销毁。 private void OnCollisionEnter(Collision collision) {if (collision.gameObject.CompareTag(Enemy)){if (characterType CharacterType.Player){collision.gameObject.GetComponentEnemyController().Damage(attackNum);Destroy(this.gameObject);}}else if (collision.gameObject.CompareTag(Player)){if (characterType CharacterType.Enemy){collision.gameObject.GetComponentPlayerController().Damage(attackNum);Destroy(this.gameObject);}}else{Destroy(this.gameObject);} }效果
http://www.hkea.cn/news/14421598/

相关文章:

  • 广告公司网站制作腾讯云网站搭建教程
  • 深圳微交易网站开发页面精美的网站
  • 鞍山网站建设制作廊坊网站制作
  • 基于html5的旅游网站的设计岳阳网络公司
  • 河北建设集团园林网站互联网公司排名前1000个
  • 贵阳能做网站的公司有哪些市场营销案例100例及答案
  • 甘肃网站建设项目中国机械加工网18易5下2拉i
  • 做网站的大公司个人网站 创意
  • 莱州做网站的公司WordPress seo终极优化
  • 查看网站建设时间协策网络
  • 手机营销网站模板免费下载网站开发(源代码)
  • 中国建设工程造价管理协会网站简称怎么设计网站规划方案
  • 自做美食哪些网站设计图纸网站
  • 网站备案和域名备案有什么区别福州做网站开发需要多少钱
  • 济南川芎网站建设公司h5制作平台官网免费
  • 云南网站建设快速排名网站设计是不是会要用代码做
  • 沛县网站文山网站建设公司
  • 织梦做企业网站教程网站开发用什么工具好
  • 网站案例分析湖南全国疾病监测系统
  • 网站建设英文翻译江西专业网站建设
  • 做旅游景区网站wordpress wp_page_menu
  • 腾讯视频网站建设维护环保网站设计
  • 网站动态logo怎么做泰安网络平台
  • 做网站模板用什么框架关键字优化价格
  • 昆山教育云平台网站建设wordpress 链接微博
  • 网站管理有哪些免费静态网页模板下载
  • 淘宝联盟怎么建设网站交友app搭建
  • 茂名住房和城乡建设部网站网站建设免费制作
  • 俄语培训网站建设企信网企业信用信息系统官网
  • 最经济 网站建设江门网站开发多少钱