gpt4 book ai didi

Java 脚本存储和加载状态

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:36 26 4
gpt4 key购买 nike

我目前正在用 java 编写一个用于 2D 游戏的小型游戏引擎。
作为引擎的一部分,我希望支持脚本作为实现游戏内事件的主要方式。

  • 脚本可能会运行很长时间
  • 多个脚本可以并行运行
  • 对 Java 代码的调用受到限制

由于我想实现保存游戏功能,我必须以可以存储在文件中并稍后再次加载的格式获取脚本的当前状态。

  • 有没有java的脚本引擎哪个支持这个? (javascript 或其他)
  • 他们如何处理多线程和java调用代码?

  • 网上有解决这个问题的好资源吗?

谢谢
编辑:为了清楚地说明我想要做什么

  1. 游戏开始一个或多个脚本开始并行运行
  2. 玩家调用保存函数
  3. 脚本暂停
  4. 脚本的状态存储为 continue 或 end
  5. 玩家调用加载函数
  6. 脚本的状态已加载
  7. 脚本恢复

我想知道是否有java脚本引擎支持以这种方式暂停和存储其内部状态。
(不需要支持官方java脚本api)

最佳答案

您所说的本质上是协程的运行,以及序列化协程状态的能力。遗憾的是,我对 Java 或其可用的脚本工具知之甚少,但一些游戏开发人员使用 Lua ,其特点是 coroutines ,与 Pluto ,一个序列化库,据我所知,它允许您保存所有单独的协程状态。显然,这意味着所有相关状态都在协程中,并且当您读回这些引用时,保存下来的引用仍然有意义 - 这通常意味着通过可预测的句柄和 ID 值进行访问。

关于Java 脚本存储和加载状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2351887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com