puerts icon indicating copy to clipboard operation
puerts copied to clipboard

【UE】代理蓝图使用问题,会遇到需要手动触发编译才能代理蓝图关联代理ts脚本

Open zhang357622852 opened this issue 2 years ago • 3 comments

detail | 详细描述

TB_GM_Login代理蓝图ts脚本 image 使用代理蓝图 image

【步骤】:

  1. 移除自定义的js脚本和代理蓝图

这里写了个bat image

  1. 打开项目

puerts会自动编译生成js和代理蓝图 image

  1. 启动Login关卡

通过上图World Settings上是在使用TB_GM__Login代理蓝图,相应的js也有生成 但是启动时TB_GM_Login.ts中的ReceiveBeginPlay未被调用

  1. 手动变动下TB_GM_Login.ts脚本触发重新编译

可看到log窗口重新编译生成代理蓝图 image

  1. 启动Login关卡

可以看到TB_GM_Login.ts中的ReceiveBeginPlay被调用了 image

  1. 工程地址:https://gitee.com/winmi/puerts-project.git

zhang357622852 avatar Mar 29 '22 04:03 zhang357622852

应该问题没描述清楚吧。 如果“所有”代理蓝图都有这种问题,我们内部项目早反馈了。是不是只有GameMode会这样?要描述清楚“最关键”的信息。 demo也有个继承actor的例子,我一直都是好的,你问题反馈的是“所有”代理蓝图,所以会导致我认为这不是问题。

chexiongsheng avatar Apr 15 '22 01:04 chexiongsheng

不是所有代理蓝图,自动模式下,我这边代理蓝图只用到了GameMode,PlayerController,GameInstance,这三个, 这三个都需要在编辑器相关设置(例如:世界场景设置)引用好,GameMode和PlayerController会发生上面描述的情况,而GameInstance不会,上面提交的测试工程只演示了GameMode的代理蓝图

zhang357622852 avatar Apr 15 '22 06:04 zhang357622852

一旦我清理掉对应代理蓝图的js和蓝图资源,这时候重开编辑器,会触发重新编译js和生成代理蓝图,这个代理蓝图,也会在世界场景设置里看到,启动运动时,这个ts这边的ReceiveBeginPlay没有被调用到,需要我手动变动下ts脚本,重新编译和生成代理蓝图,然后再能ReceiveBeginPlay被调用到

zhang357622852 avatar Apr 15 '22 06:04 zhang357622852