中牟网站建设,关键字挖掘机爱站网,设计找图网站,贵州省建设工程质量检测协会网站目录
效果
步骤
一、让子弹拥有不同伤害
二、敌人拥有不同血量
三、修改“BP_TowerBase”逻辑
四、发射的子弹对敌人造成伤害 效果 步骤
一、让子弹拥有不同伤害
为了让每一种子弹拥有不同的伤害值#xff0c;打开“TotalBulletsCategory”#xff08;所有子弹的父类…目录
效果
步骤
一、让子弹拥有不同伤害
二、敌人拥有不同血量
三、修改“BP_TowerBase”逻辑
四、发射的子弹对敌人造成伤害 效果 步骤
一、让子弹拥有不同伤害
为了让每一种子弹拥有不同的伤害值打开“TotalBulletsCategory”所有子弹的父类新建一个浮点型变量命名为“DamageValue”表示子弹的伤害值默认值设为10 子弹碰撞到敌人时应用这个伤害值 打开“TowerBaseBullet_Child”修改父类中的“DamageValue”这样就可以让不同的子弹拥有不一样的伤害值 二、敌人拥有不同血量
打开“TotalEnemyCategory”新建一个浮点型变量命名为“HealthyValue”用于表示敌人的当前的生命值设置默认值为100 同样的我们可以在子类“Enemy1”中去修改“HealthyValue”的大小让每一个敌人拥有不同的生命值。 三、修改“BP_TowerBase”逻辑 事件开始运行后每隔1s执行一次“DetectEnemise”事件 “DetectEnemise”事件如下 当检测到了敌人后就停止检测停止执行定时器事件如果没有检测到就重新检测敌人。
当变量“ChoosedEnemy”无效时需要重新开始检测 四、发射的子弹对敌人造成伤害 在“TotalEnemyCategory”中添加如下节点当敌人的生命值归0时设置模拟物理来模拟敌人倒下的效果然后延迟2s销毁敌人Actor 这里需要将Mesh组件中的碰撞预设设置为自定义然后忽略Pawn的碰撞否则敌人会被击飞。 此时运行游戏会发现当敌人死亡后炮塔还在继续向这个死亡的敌人发射子弹为了避免这个现象我们需要在“TotalEnemyCategory”中添加一个布尔变量来表示敌人是否已经死亡 当敌人生命值归0时设置“isDead”为真
打开“BP_TowerBase”添加对敌人死亡的判断没有死亡就继续之前的逻辑死亡就重新开始检测 此时运行游戏如文章开头所示。