代码之家  ›  专栏  ›  技术社区  ›  josefx

Java脚本存储和加载状态

  •  1
  • josefx  · 技术社区  · 16 年前

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

    • 脚本可能会运行很长时间
    • 几个脚本可以并行运行
    • 对java代码的调用是有限的

    • 有java脚本引擎吗 谁支持这一点(javascript或其他)
    • 他们是怎么处理的 代码?

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

    谢谢
    为了清楚我想做什么

    1. 游戏开始一个或多个脚本开始并行运行
    2. 播放器调用保存功能
    3. 脚本的状态存储为“继续”或“结束”
    4. 播放器调用加载函数
    5. 脚本的状态已加载
    6. 脚本继续

    我想知道是否有任何java脚本引擎支持以这种方式暂停和存储其内部状态。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Kylotan    16 年前

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

        2
  •  0
  •   chinmaya    16 年前

    我不确定这是否能解决你的问题。下面是我所知道的一些在jvm中工作的脚本引擎

    1. Rhino javascript引擎,mozilla.org/Rhino
    2. Clojure lisp引擎,Clojure.org
    3. groovy,groovy.codehaus.org

    也许这篇文章会有帮助

    http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/