puerts
puerts copied to clipboard
【UE】代理蓝图使用问题,会遇到需要手动触发编译才能代理蓝图关联代理ts脚本
detail | 详细描述
TB_GM_Login代理蓝图ts脚本
使用代理蓝图
【步骤】:
- 移除自定义的js脚本和代理蓝图
这里写了个bat
- 打开项目
puerts会自动编译生成js和代理蓝图
- 启动Login关卡
通过上图World Settings上是在使用TB_GM__Login代理蓝图,相应的js也有生成 但是启动时TB_GM_Login.ts中的ReceiveBeginPlay未被调用
- 手动变动下TB_GM_Login.ts脚本触发重新编译
可看到log窗口重新编译生成代理蓝图
- 启动Login关卡
可以看到TB_GM_Login.ts中的ReceiveBeginPlay被调用了
- 工程地址:https://gitee.com/winmi/puerts-project.git
应该问题没描述清楚吧。 如果“所有”代理蓝图都有这种问题,我们内部项目早反馈了。是不是只有GameMode会这样?要描述清楚“最关键”的信息。 demo也有个继承actor的例子,我一直都是好的,你问题反馈的是“所有”代理蓝图,所以会导致我认为这不是问题。
不是所有代理蓝图,自动模式下,我这边代理蓝图只用到了GameMode,PlayerController,GameInstance,这三个, 这三个都需要在编辑器相关设置(例如:世界场景设置)引用好,GameMode和PlayerController会发生上面描述的情况,而GameInstance不会,上面提交的测试工程只演示了GameMode的代理蓝图
一旦我清理掉对应代理蓝图的js和蓝图资源,这时候重开编辑器,会触发重新编译js和生成代理蓝图,这个代理蓝图,也会在世界场景设置里看到,启动运动时,这个ts这边的ReceiveBeginPlay没有被调用到,需要我手动变动下ts脚本,重新编译和生成代理蓝图,然后再能ReceiveBeginPlay被调用到