Tomas Hoffman
Tomas Hoffman
> 引用关系是这里描述的第二种: https://github.com/Tencent/puerts/blob/master/doc/unreal/mixin.md#%E5%89%8D%E7%BD%AE%E7%9F%A5%E8%AF%86  我尝试使用Mixin 有几个问题,麻烦大佬解答一下: 1. 在ts中创建实例的时候,应该用new 还是 NewObject? 我两种都试了,貌似没有什么区别 2. ts中创建实例,TS中定义的Constructor不会被调用到,这个问题如何解决? 3. 对一个cpp基类,调用两次mixin的时候,第二次调用会报错,请问如何解决?  
我又尝试,对mixin的第三个参数,将inherit置为true 这样 两个子类的mixin调用都ok了。并且各种测试用例都正常 但是,当GC发生后,客户端会立即崩溃 崩溃栈如下:  请问这种情况可能是什么原因导致的?
puerts的版本 在哪里能够看到? 我看了一下大概的时间 应该是2021年7月初的时候,还是可以的
是的 编辑器下的确是可以的 ,但是在手机上就不行
在补充一些细节 比如我的js文件是  在没有修改此文件的时候,在此文件中打断点,断点会正常命中。 当我在DevTools中修改次文件并保存后。观察游戏内表现,发现代码并未生效。 而断点也无法命中了。 此时,关闭DevTools,然后再次打开DevTools连上手机,会发现上述文件是修改后的样子,打断点会命中,但是就会打开另一个文件:  而这个文件则是未修改前的样子。
确认了一下 ,之前我们用的一直就是v8引擎的8.4版本 然后DefaultJSModuleLoader.cpp 回退到之前的版本,也还是不行 抓包结果如下  可以看到确实调用了SetScriptSource, 并且查看param,也的确是修改后的文件。 但是手机上 就是不会生效。而编辑器上就会生效。
我更新到最新 结果连编辑器下都不行了 为了避免我自己工程带来的影响,我使用puerts_unreal_demo工程也试了一下,也是编辑器下都不行了
我就是下载最新的demo工程https://github.com/chexiongsheng/puerts_unreal_demo 修改JsEnv.Build.cs,添加PublicDefinitions.Add("WITH_INSPECTOR"); 然后修改QuickStart.ts spawn了一个TsTestActor let u_class = makeUClass(TsTestActor); let test_actor_wyh = world.SpawnActor(u_class, undefined, UE.ESpawnActorCollisionHandlingMethod.Undefined, undefined, undefined) as TsTestActor; 然后运行,这样TsTestActor的tick就会不停的输出日志 我在用cdt连上调试,修改TsTestActor.js,改变输出日志的内容,结果是日志并没有发生变化。
JsEnvImpl.cpp中 我加到2260行了 2225这里不行 Template还没有被赋值