3

主题

4

回帖

95

积分

普通创作者

积分
95
发表于  2023-7-1 12:20:24 | 显示全部楼层 |阅读模式 771 0
地形编辑
编辑器昵称: 仅版务团队查看
联系QQ: 仅版务团队查看
本帖最后由 Danis#9158 于 2023-7-1 12:25 编辑

第一个如图: 下载.png

我写的第一个函数,用来实现让地图上不同地方刷出来的单位分别向距离他们最近的敌方建筑发起进攻。如果这个地方已经被攻占,那么他们会触发寻路结束,然后接着向下一个最近的敌方建筑寻路。
这里用遍历单位组依次做了距离判断,然后留下最近的目标共计移动过去。
前期还好,后期单位变多了之后开始逐渐开始掉帧。我个人感觉掉帧是两个原因,一个是触发事件不是指定单位,每次有单位停止寻路时都要判断一次是不是这个需要继续执行的单位。第二个原因遍历单位组依次比较距离的计算量偏大。


第二个如图: 下载 (1).png 下载 (2).png


这是另一个函数,因为单位命令里的跟随单位效果很不好,一方面单位会跟随的目标单位开始打架了,跟随者还在后面愣着;另一方面不能设置持续性的跟随,总之很不好用。 所以我用这个函数用来替代。
但是这个也涉及到了性能问题。因为我的地图里基本上是一个伍长后面跟着4个小兵,然后地图上有许多个伍长。而我希望这些小兵能一直跟着伍长,所以用每隔几秒去判断跟随状态,然后伍长阵亡后,小兵就会应用上一个触发,去自己找目标打。
起初卡的时候我觉得是因为每隔几秒钟都一定判断很多次,于是我把“每隔几秒”的参数上面写了2.5秒-10秒的随机数,创建单位也用了一点随机数,单位死后注销掉了计时器和子触发。然后卡顿情况似乎是好了一点。
但是同样的问题,治标不治本,还是越到后面越卡。

想请教一下各位大佬,有什么优化的方式,或者有什么替代方案吗?谢谢了!
我知道答案 回答被采纳将会获得1 帮助次数 + 19 金钱 已有0人回答