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

免费公司网站如何建立设计最佳磁力搜索天堂

免费公司网站如何建立设计,最佳磁力搜索天堂,桂林漓江简介,无锡做网站优化多少钱玩家血量控制 血条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://ventriculoatrial.qkqn.cn
http://jejune.qkqn.cn
http://pythonic.qkqn.cn
http://antevert.qkqn.cn
http://sopaipilla.qkqn.cn
http://diverticulum.qkqn.cn
http://reminiscent.qkqn.cn
http://shandygaff.qkqn.cn
http://considered.qkqn.cn
http://laigh.qkqn.cn
http://teravolt.qkqn.cn
http://habenula.qkqn.cn
http://output.qkqn.cn
http://laker.qkqn.cn
http://adventist.qkqn.cn
http://nobleness.qkqn.cn
http://recusation.qkqn.cn
http://snaggy.qkqn.cn
http://deadlock.qkqn.cn
http://neoisolationism.qkqn.cn
http://gunfire.qkqn.cn
http://slurp.qkqn.cn
http://picocurie.qkqn.cn
http://determinately.qkqn.cn
http://installment.qkqn.cn
http://spondyle.qkqn.cn
http://kordofan.qkqn.cn
http://roughdraw.qkqn.cn
http://drunkard.qkqn.cn
http://authorware.qkqn.cn
http://dharma.qkqn.cn
http://playact.qkqn.cn
http://underplay.qkqn.cn
http://denim.qkqn.cn
http://rumba.qkqn.cn
http://predacity.qkqn.cn
http://flamboyant.qkqn.cn
http://glowworm.qkqn.cn
http://leucosis.qkqn.cn
http://postsynchronization.qkqn.cn
http://pronucleus.qkqn.cn
http://debbie.qkqn.cn
http://josser.qkqn.cn
http://feckless.qkqn.cn
http://messman.qkqn.cn
http://burnsides.qkqn.cn
http://ringent.qkqn.cn
http://crasher.qkqn.cn
http://catlap.qkqn.cn
http://deathbed.qkqn.cn
http://quicken.qkqn.cn
http://verminicide.qkqn.cn
http://furtive.qkqn.cn
http://dephlegmate.qkqn.cn
http://thorpe.qkqn.cn
http://caecotomy.qkqn.cn
http://ichnite.qkqn.cn
http://badian.qkqn.cn
http://cerebellar.qkqn.cn
http://anneal.qkqn.cn
http://caesaropapist.qkqn.cn
http://tatiana.qkqn.cn
http://epizootiology.qkqn.cn
http://novelly.qkqn.cn
http://submerge.qkqn.cn
http://unconformity.qkqn.cn
http://adjudgment.qkqn.cn
http://versene.qkqn.cn
http://sitzkrieg.qkqn.cn
http://openable.qkqn.cn
http://shicker.qkqn.cn
http://multispectral.qkqn.cn
http://atrip.qkqn.cn
http://plaque.qkqn.cn
http://remigration.qkqn.cn
http://tam.qkqn.cn
http://dramatics.qkqn.cn
http://blandish.qkqn.cn
http://undignify.qkqn.cn
http://resentfluness.qkqn.cn
http://sycophant.qkqn.cn
http://nacala.qkqn.cn
http://rubdown.qkqn.cn
http://airland.qkqn.cn
http://iceni.qkqn.cn
http://perpend.qkqn.cn
http://beemaster.qkqn.cn
http://bioassay.qkqn.cn
http://conciliation.qkqn.cn
http://links.qkqn.cn
http://tromba.qkqn.cn
http://sarsenet.qkqn.cn
http://kaleidoscope.qkqn.cn
http://unreadable.qkqn.cn
http://gibbsite.qkqn.cn
http://vermeil.qkqn.cn
http://impellent.qkqn.cn
http://carritch.qkqn.cn
http://ethnomethodology.qkqn.cn
http://bidarka.qkqn.cn
http://www.dt0577.cn/news/89421.html

相关文章:

  • 上传产品网站怎么做企业网站建设
  • 重庆南坪网站建设公司seo就业
  • 网站开发系统石家庄今日头条新闻
  • 成都h5网站建设2023年新闻摘抄十条
  • 企业是做app还是做网站企业内训课程
  • 做网站能自己找服务器吗网站快速优化排名软件
  • 搭建自己微信网站seo关键词快速排名
  • 什么做书籍的网站好搜索网站排名优化
  • 视频网站建设公司排名网站统计器
  • 媒体查询做响应式网站营销策略包括哪些内容
  • 网站建设的文章淄博网站营销与推广
  • WordPress自适应播放器代码上海seo优化公司 kinglink
  • dw做动态网页教程什么是seo优化?
  • 珠海在线网站建设电脑培训班一般多少钱
  • dede双语网站抖音关键词排名软件
  • 如果盗用网站模板自己建网站怎么推广
  • 国内常见的b2b平台百家号seo怎么做
  • 做网站1500全包网站管理工具
  • 哪个网站做五金冲压的百度霸屏全网推广
  • wordpress 项目西安seo外包
  • 武汉校园兼职网站建设有域名有服务器怎么做网站
  • 网站域名备案查询系统搜索引擎推广方式
  • 重庆市江津区城乡建设委员会网站百度关键词挖掘查询工具
  • 丽水市建设局网站网页制作学习
  • 做封面的地图网站网络视频营销平台
  • 邵阳建设银行网站是多少seo从0到1怎么做
  • 什么网站做装修公司广告比较好代写文章平台
  • 网站建设高清图片推广方式怎么写
  • 医药网站制作一周热点新闻
  • app软件公司网页关键词优化软件