Jython中Java项目的访问方法
我目前正在用Java编写一个游戏,这个游戏随着时间的推移越来越大。 因此,现在我正处于这样一个时刻,代码的更动态实现将变得非常方便。 我决定研究一下Jython,并让它与一些简单的脚本一起工作。 (顺便说一句,如果有什么关系的话,我正在使用最新的独立Jython) 现在我的问题是:我可以在前面提到的Java项目中执行的Jython脚本中执行Java项目中的方法吗 下面是一个伪代码示例,用于更好地理解我想问的问题: 假设我有一个脚本,如下所示:Jython中Java项目的访问方法,java,scripting,jython,Java,Scripting,Jython,我目前正在用Java编写一个游戏,这个游戏随着时间的推移越来越大。 因此,现在我正处于这样一个时刻,代码的更动态实现将变得非常方便。 我决定研究一下Jython,并让它与一些简单的脚本一起工作。 (顺便说一句,如果有什么关系的话,我正在使用最新的独立Jython) 现在我的问题是:我可以在前面提到的Java项目中执行的Jython脚本中执行Java项目中的方法吗 下面是一个伪代码示例,用于更好地理解我想问的问题: 假设我有一个脚本,如下所示: def main(): killPlayer
def main():
killPlayer()
main()
PythonInterpreter pyInterp = new PythonInterpreter();
pyInterp("script.py");
以及包含方法“killPlayer()”的Java类:
Jython脚本的执行过程如下:
def main():
killPlayer()
main()
PythonInterpreter pyInterp = new PythonInterpreter();
pyInterp("script.py");
有这种可能吗
提前感谢并为我糟糕的英语感到抱歉^ ^您可以像这样在Jython中导入Java类:
from javax.swing import JFrame
f = JFrame('Hello, World!', defaultCloseOperation=JFrame.EXIT_ON_CLOSE, size=(300, 300), locationRelativeTo=None)
f.setVisible(True)
()
因此,我的建议是使用Java代码作为库,并在Python中实现“设置一切”。这样,您就不需要找出从脚本中查找Java对象实例的方法
如果您需要查找实例,我建议在某个地方创建一个静态全局变量,该变量允许您访问一个公开重要游戏实例的类。在Java代码中,您可以使用Jython脚本的
Map
中的名称注册实例。谢谢!我没想到我能如此轻松地导入自己的包和类。