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

UE求职Demo开发日志#13 完善所有伤害判定

1 相关思路

1.1 添加相关倍率属性和完善工具函数

        添加了这四个要用到的变量:

                SpecialSkill_1_Multi

                SpecialSkill_2_Multi

                PowerSkillSumMulti

                DodgeAttackSumMulti

1.2 普攻第五段有四段伤害,四段平分总倍率(也可以按比例分)

1.3 SpecialSkill在强化的动画里加入通知,一个在开头重置cnt,一个在第一段结束后cnt++,没强化的动画开头也要重置

1.4 终结技动画通知状态开始检测一次,记录范围内的敌人的引用,然后通过通知的总时间和伤害段数SetTimer来延时应用伤害,暂时还是均分总倍率

1.5 DodgeAttack放五次isAttacking通知状态来应用伤害

2 实现过程

2.1 添加相关倍率属性和完善工具函数

        过程跟之前一样,还是添加到AS里,就不贴了

2.2 实现1.2

        if(comboCnt==0)
        {
            return Cast<UMyPlayerAttributeSet>(AttributeSet)->NA_5_Multi.GetCurrentValue()/4.0;
        }

2.3 实现1.3 

添加计数变量:

UPROPERTY(EditDefaultsOnly, BlueprintReadWrite,Category = "MyPlayer|SpecialSkill")
int SpecialSkill_Cnt=0;

添加两个动画通知:

 重载接收通知:

 在GetCurrentAttackMulti里加入这几行:

    if(myAttackType==EMyAttackType::SpecialSkill)
    {
        UE_LOG(LogTemp,Warning,TEXT("GetCurrentAttackMulti-->SpeciallSkill"));
        if(SpecialSkill_Cnt==0)
        {
            return Cast<UMyPlayerAttributeSet>(AttributeSet)->SpecialSkill_1_Multi.GetCurrentValue();
        }
        if(SpecialSkill_Cnt==1)
        {
            return Cast<UMyPlayerAttributeSet>(AttributeSet)->SpecialSkill_2_Multi.GetCurrentValue();
        }
    }

两段攻击之间AddCnt 

 

测试一下倍率没啥问题:

 2.4 实现1.4

添加变量记录目标:

UPROPERTY(EditAnywhere, BlueprintReadWrite,Category = "MyPlayer|PowerAttack")
	TArray<AActor*> Targets;

 添加一个状态通知来管理Targets,开始时检测并加入Array,结束时清空数组:

Begin:

 

 End:

再添加一个动画通知,应用伤害:

 经过测试多个敌人都正常扣血,这个0.1的倍率是测试的时候改的

 2.5 实现1.5

添加五段动画通知:

效果:

 好的到这终于每种攻击的伤害判定就完善了,除了一些特殊的需求,比如按比例来分每段的伤害


http://www.kler.cn/a/522128.html

相关文章:

  • Winform如何取消叉号,减号和放大(两种)
  • 一组开源、免费、Metro风格的 WPF UI 控件库
  • Java基础知识总结(二十七)--Jdk5.0新特性:
  • 把markdown转换为pdf的方法
  • WPF进阶 | WPF 数据绑定进阶:绑定模式、转换器与验证
  • Padas进行MongoDB数据库CRUD
  • 【ESP32】ESP-IDF开发 | WiFi开发 | UDP用户数据报协议 + UDP客户端和服务器例程
  • AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言
  • 2025年寒假ACM训练赛1
  • Tailwind CSS 正式发布了 4.0 版本
  • 跨平台物联网漏洞挖掘算法评估框架设计与实现项目经费使用记录和参考文献
  • 除了layui.js还有什么比较好的纯JS组件WEB UI?在谷歌浏览上显示
  • 【2025年最新版】Java JDK安装、环境配置教程 (图文非常详细)
  • java构建工具之Gradle
  • 【AI论文】FilmAgent: 一个用于虚拟3D空间中端到端电影制作自动化的多智能体框架
  • 常用的npm镜像源配置方法
  • 刀客doc:禁令影响下,TikTok广告业务正在被对手截胡
  • JVM垃圾回收器的原理和调优详解!
  • 深圳大学-智能网络与计算-实验四:云-边协同计算实验
  • Java多线程与高并发专题——保障可见性和有序性
  • 分布式组件底层逻辑是什么?
  • 在计算机上本地运行 Deepseek R1
  • Couchbase UI: Bucket
  • 小程序 uniapp 地图 自定义内容呈现,获取中心点,获取对角经纬度,首次获取对角经纬度
  • 蓝桥村打花结的花纸选择问题
  • 菜鸟之路Day08一一集合进阶(一)