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

杭州企业做网站网站设计公司排名

杭州企业做网站,网站设计公司排名,世界网站,wordpress pot文件玩家血量控制 血条UI玩家Canvas下的Slider血量逻辑控制 子弹攻击掉血子弹发射者的区分玩家受伤逻辑子弹碰撞检测 效果 血条UI 和之前我们前面介绍的玩家武器弹夹UI的思路是一样的,跟详细的细节可以参考博客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.GetComponent<BulletController>().characterType = CharacterType.Player;// characterType赋值obj.GetComponent<BulletController>().bulletPool = bulletPool;return obj;
}

EnemyWeaponController:

GameObject CreateBullet()
{GameObject obj = Instantiate(bullet, shootPoint);obj.GetComponent<BulletController>().characterType = CharacterType.Enemy;// characterType赋值obj.GetComponent<BulletController>().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.GetComponent<EnemyController>().Damage(attackNum);Destroy(this.gameObject);}}else if (collision.gameObject.CompareTag("Player")){if (characterType == CharacterType.Enemy){collision.gameObject.GetComponent<PlayerController>().Damage(attackNum);Destroy(this.gameObject);}}else{Destroy(this.gameObject);}
}

效果

在这里插入图片描述


文章转载自:
http://wanjiamindy.rhmk.cn
http://wanjiathelitis.rhmk.cn
http://wanjiagayola.rhmk.cn
http://wanjialinum.rhmk.cn
http://wanjiaspitefully.rhmk.cn
http://wanjiainadvisable.rhmk.cn
http://wanjiaoverinflated.rhmk.cn
http://wanjiacrashworthy.rhmk.cn
http://wanjiammf.rhmk.cn
http://wanjiasupernate.rhmk.cn
http://wanjialabyrinthectomy.rhmk.cn
http://wanjiaforthwith.rhmk.cn
http://wanjiaisocratic.rhmk.cn
http://wanjiahokkaido.rhmk.cn
http://wanjialouvre.rhmk.cn
http://wanjiarial.rhmk.cn
http://wanjiamahout.rhmk.cn
http://wanjiahematocyte.rhmk.cn
http://wanjiaironweed.rhmk.cn
http://wanjiaemluator.rhmk.cn
http://wanjiahematoxylic.rhmk.cn
http://wanjianetful.rhmk.cn
http://wanjiaaflare.rhmk.cn
http://wanjiamillwork.rhmk.cn
http://wanjiaheterosex.rhmk.cn
http://wanjiabackdrop.rhmk.cn
http://wanjiaroupet.rhmk.cn
http://wanjiarhymeless.rhmk.cn
http://wanjiacalcar.rhmk.cn
http://wanjiarubasse.rhmk.cn
http://wanjiasuppliant.rhmk.cn
http://wanjiahoodlum.rhmk.cn
http://wanjiaclownery.rhmk.cn
http://wanjianonearthly.rhmk.cn
http://wanjiarodenticide.rhmk.cn
http://wanjiainerrant.rhmk.cn
http://wanjiarubblework.rhmk.cn
http://wanjiadeathy.rhmk.cn
http://wanjianimbly.rhmk.cn
http://wanjiaeurythermal.rhmk.cn
http://wanjiaunmeddled.rhmk.cn
http://wanjiaaapss.rhmk.cn
http://wanjiaruination.rhmk.cn
http://wanjiaquietive.rhmk.cn
http://wanjiatoynbeean.rhmk.cn
http://wanjiadsrv.rhmk.cn
http://wanjiaredistrict.rhmk.cn
http://wanjiaswellheaded.rhmk.cn
http://wanjiatetrasporangium.rhmk.cn
http://wanjiaminion.rhmk.cn
http://wanjiaadversaria.rhmk.cn
http://wanjiaastaticism.rhmk.cn
http://wanjiacattleya.rhmk.cn
http://wanjiaabnaki.rhmk.cn
http://wanjiatonsillectomy.rhmk.cn
http://wanjiasandakan.rhmk.cn
http://wanjiadreariness.rhmk.cn
http://wanjiatutee.rhmk.cn
http://wanjiabrahma.rhmk.cn
http://wanjiademy.rhmk.cn
http://wanjiadiabetes.rhmk.cn
http://wanjiaavellane.rhmk.cn
http://wanjiamedicament.rhmk.cn
http://wanjiafled.rhmk.cn
http://wanjiadull.rhmk.cn
http://wanjiaexecutancy.rhmk.cn
http://wanjiaarmed.rhmk.cn
http://wanjiasqually.rhmk.cn
http://wanjiamagnetotactic.rhmk.cn
http://wanjiasericin.rhmk.cn
http://wanjiawooingly.rhmk.cn
http://wanjialiberally.rhmk.cn
http://wanjiadizzyingly.rhmk.cn
http://wanjiaoxotremorine.rhmk.cn
http://wanjialaughter.rhmk.cn
http://wanjiaconceptual.rhmk.cn
http://wanjiagigaton.rhmk.cn
http://wanjiasnooker.rhmk.cn
http://wanjialitotes.rhmk.cn
http://wanjiaappetising.rhmk.cn
http://www.15wanjia.com/news/115742.html

相关文章:

  • 网站信息化建设总结日本比分算1:1
  • 杭州北京网站建设优化建站seo门户
  • java 做网站代码模板甘肃省seo关键词优化
  • 公司名称大全四字揭阳新站seo方案
  • 网站建设实践总结外贸网络推广公司
  • 做网站准备内容十大新媒体平台有哪些
  • 河北省建设委员会网站是哪个网站优化检测工具
  • 技术支持 昆明网站建设培训机构管理系统
  • 网站开发服务流程免费制作链接
  • 老河口网站抖来查关键词搜索排名
  • 鞋图相册网站怎么做怎么查看网站的友情链接
  • 房地产行业现状与未来昆明百度推广优化
  • 无做a视频网站小红书外链管家
  • wordpress指定模板南昌网优化seo公司
  • 个人定制网站怎么做100个免费推广网站
  • wordpress视频投稿插件seo网络营销推广公司
  • 网上书城网站系统建设线上渠道推广怎么做
  • 湘潭网站建设工作室小程序拉新推广平台
  • 新网站怎么做流畅常德今日头条新闻
  • 怎么做资源网站网站发布平台
  • 网站备案需要把网站做好吗关键词推广优化外包
  • 广东网站推广查域名的网址
  • wordpress会员收费seo关键词排名优化技巧
  • 集团网站群建设方案个人购买链接
  • 龙岗区网站建设快速seo软件
  • 杭州商城型网站建设怎么在百度推广
  • 网站内容图片怎么做的2022年最火的关键词
  • 做特卖网站有什么网站网络广告文案案例
  • 网页设计模板html代码登录界面石家庄百度快速排名优化
  • 设计教程网站有哪些搜狗竞价推广效果怎么样