Closed pheyahu closed 3 months ago
你概念上搞混了。 JsEnv是一个虚拟机,多个虚拟机间相互隔离,和你nodejs启动了多个进程一样。 继承引擎类功能会自己启动一个虚拟机,和你在gameinstance启动的虚拟机不是一个虚拟机。
有没有办法解决这种情况呢?能在游戏中只存在一个虚拟机么?在很多情况下是需要actor创建完成后通知脚本层做一些逻辑的。
有没有办法解决这种情况呢?能在游戏中只存在一个虚拟机么?在很多情况下是需要actor创建完成后通知脚本层做一些逻辑的。
什么叫解决?你不启动多个不就只有一个了吗? 你用node a.js启动一个进程,node b.js启动一个进程,然后问为啥a.js的变量在b.js那访问不了?你别启动两个,把逻辑都加载到一个进程,或者两个进程间通过ipc交流。
demo中gameinstance启动jsenv这是示例,不是必要的,正如helloworld示例程序不是让你在每个程序都打印一下helloworld。
继承引擎类功能也可以不开,不开就没有虚拟机。
仔细看文档最新的提交内容。
好的,我大概知道了,还以为必须要初始化一个虚拟机。感谢!
前置阅读 | Pre-reading
Puer的版本 | Puer Version
master
UE的版本 | UE Version
5.4.1
发生在哪个平台 | Platform
Editor(win)
错误信息 | Error Message
使用继承引擎类的方式,复写gamemode ReceiveBeginPlay方法,想获取之前初始化的数据,是 undefined. 求问如何处理这种情况。感觉是继承的方式重新创建了fjsenv。访问不了之前在gameinstance中初始化的fjsenv
问题重现 | Bug reproduce
使用继承引擎类的方式,复写gamemode ReceiveBeginPlay方法,想获取之前初始化的数据,是 undefined. 求问如何处理这种情况。