EnemySpawner 有一个名为“Path”的 Spline 组件,生成的 Enemy 必须遵循该组件。为此,Enemy 的蓝图有另一个名为“Enemy Path”的 Spline 组件,必须在创建时由 Enemy Spawner 初始化,如上面的屏幕截图所示。
但是,在我的敌人中,如果我尝试访问“EnemyPath”,我会收到以下错误:
蓝图运行时错误:尝试从函数读取属性 PathActor:已访问无:节点中的“ExecuteUbergraph_Enemy”:图中的 DestroyActor:对象中的 EventGraph:带有描述的敌人:尝试读取属性 PathActor 时未访问
所以,换句话说,空指针异常。
例如,如果我在 Enemy's Blueprint 中这样做(出于测试目的): Spline 组件的 Actor Owner 没有被销毁。
即使我尝试分配所有所有者演员,不仅是样条线组件,它也不起作用。
我还尝试在 EnemySpawner 的“SpawnActor Enemy”节点和 Enemy 的“Event BeginPlay”节点之后在屏幕上打印一些东西,并且我已经检查过显然 EnemySpawner 中的打印首先发生,所以唯一的问题是该变量并未真正分配。
我尝试的最后一件事是在“Set”节点之后直接在 EnemySpawner 蓝图中通过从 Spawned 敌人那里获取 Spline 的 Owner 来摧毁它,令我惊讶的是,它被摧毁了!
那么,关于这样做的正确方法是什么?