Tomas Hoffman

Results 13 comments of 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 ![image](https://user-images.githubusercontent.com/35680535/179441648-dcd88c34-5c72-49f7-a3fd-7fcea98a454e.png) 我尝试使用Mixin 有几个问题,麻烦大佬解答一下: 1. 在ts中创建实例的时候,应该用new 还是 NewObject? 我两种都试了,貌似没有什么区别 2. ts中创建实例,TS中定义的Constructor不会被调用到,这个问题如何解决? 3. 对一个cpp基类,调用两次mixin的时候,第二次调用会报错,请问如何解决? ![image](https://user-images.githubusercontent.com/35680535/179442007-a58f669f-1488-47ad-ba74-bb5dc782a9e4.png) ![image](https://user-images.githubusercontent.com/35680535/179442030-c22b8fb9-d0fd-4642-b610-33b2a0db4d41.png)

我又尝试,对mixin的第三个参数,将inherit置为true 这样 两个子类的mixin调用都ok了。并且各种测试用例都正常 但是,当GC发生后,客户端会立即崩溃 崩溃栈如下: ![image](https://user-images.githubusercontent.com/35680535/182102857-84dfe4a7-ecf7-454a-95ed-9f691c63aa59.png) 请问这种情况可能是什么原因导致的?

puerts的版本 在哪里能够看到? 我看了一下大概的时间 应该是2021年7月初的时候,还是可以的

是的 编辑器下的确是可以的 ,但是在手机上就不行

在补充一些细节 比如我的js文件是 ![image](https://user-images.githubusercontent.com/35680535/175002298-ea500584-b067-4354-ad7b-62547c977b7e.png) 在没有修改此文件的时候,在此文件中打断点,断点会正常命中。 当我在DevTools中修改次文件并保存后。观察游戏内表现,发现代码并未生效。 而断点也无法命中了。 此时,关闭DevTools,然后再次打开DevTools连上手机,会发现上述文件是修改后的样子,打断点会命中,但是就会打开另一个文件: ![image](https://user-images.githubusercontent.com/35680535/175003817-5768f379-de22-4d7e-bf63-f380e9f00db3.png) 而这个文件则是未修改前的样子。

确认了一下 ,之前我们用的一直就是v8引擎的8.4版本 然后DefaultJSModuleLoader.cpp 回退到之前的版本,也还是不行 抓包结果如下 ![image](https://user-images.githubusercontent.com/35680535/175892242-1956955c-edab-4c4b-b63f-db53d9c68fc9.png) 可以看到确实调用了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还没有被赋值