Possess无法继承
跟着视频学习吃豆人游戏,在敌人AI导航网格那里,因为版本问题(我的是4.25版本),部分内容和视频不一样。
网上查了一些解决办法,我这里总结一下。
首先查看了源码,Possess函数在4.22以后的版本,因为函数声明时添加了final,所以无法继承了。
但是函数注释给我们说明了,可以使用替代函数。
所以,我们可以继承OnPossess函数。
这样子使用就没问题了。
UNavigationSystem 不存在
视频中搜索网格的时候,使用到了UNavigationSystem命名空间,但是我这里找不到,刚开始找到一个FNavigationSystem,后来发现不对。
在一个论坛里面发现解决方案,使用UNavigationSystemV1来替代。
包含的头文件为:
#include “NavigationSystem.h”
使用方式和以前一样:
UNavigationSystemV1* NavMesh = UNavigationSystemV1::GetCurrent(this);
当然这样子在VS中能够编译通过,但是在虚幻编辑器中编译会报错。我还需要修改一个文件。
我这里的是:myPacMan.Build.cs
双击打开文件,然后添加内容:
, "NavigationSystem"
前面有一个逗号。然后在虚幻里面编译就没问题了。