我正在尝试为一个游戏引擎创建脚本AI,我正在开发一个有趣的游戏引擎。我决定尝试使用Groovy来创建作为GroovyClasses加载的.groovy行为文件,然后将其转换为我的behavior接口。问题是,这是令人难以置信的缓慢。我在每个游戏周期执行更新,脚本化的AI类将程序带入爬虫。我的问题是,有没有办法加快嵌入式groovy的速度,或者有没有更好的方法来做我正在做的事情?谢谢你的帮助。
相关代码如下:
public interface Behavior {
public void execute(GameComponent component, float time);
}Groovy文件在初始化时加载,并转换为GroovyClasses:
public boolean cacheScript(String key, String path) {
try {
Class groovyClass = loader.parseClass(ClassLoader
.getSystemResourceAsStream(path));
Object object = groovyClass.newInstance();
scripts.put(key, (Behavior) object);
} catch (InstantiationException e) {
return false;
} catch (IllegalAccessException e) {
return false;
}
return true;
}然后,GameComponent像这样执行以下代码
engine.getBehavior(key).execute(component, time);发布于 2011-05-07 04:12:01
如果不查看整个项目,就不可能判断瓶颈是不断地加载和编译Groovy代码,还是加载后正在运行实际的Groovy代码。如果你的问题是一旦Groovy代码加载到你的游戏中,执行起来会花很长时间,看看Groovy++,我不确定它有多好,因为它还处于早期阶段,但是如果这是一个学习项目,它对你来说可能已经足够稳定了。
https://stackoverflow.com/questions/5916234
复制相似问题