java - 将 JMonkey 教程翻译成 JRuby

标签 java jruby code-translation jmonkeyengine

我已经翻译并使用了初学者 #5 之前的所有教程,但我对 Java 的了解还不够深,不知道如何移植这些行:

private ActionListener actionListener = new ActionListener() {
  public void onAction(String name, boolean keyPressed, float tpf) {
    if (name.equals("Pause") && !keyPressed) {
      isRunning = !isRunning;
    }
  }
};

private AnalogListener analogListener = new AnalogListener() {
  public void onAnalog(String name, float value, float tpf) {
    ...
  }
}

这是如何工作的?

最佳答案

Calling Java from JRuby 中所述,您可以使用闭包转换,其中 block 可用于定义 Java 接口(interface)行为。像下面这样的东西应该可以工作:

l = lambda { |name, pressed, tpf| running = !running if name == 'Pause' && !pressed }
input_managers.add_listener(l, ['Left', 'Right', 'Rotate'])

关于java - 将 JMonkey 教程翻译成 JRuby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9829824/

相关文章:

java - 创建阴影 jar : null: IllegalArgumentException 时出错

ruby - Jruby Warbler 在 Tomcat 上为 Sinatra 生成了 war ——未找到查看文件

c++ - 带有嵌套循环的 C++ 程序的 Common Lisp 代码

java - Eclipse - Swing WindowBuilder 在 JList<E> 代码解析上出现错误

java - Intent 和事件之间的细微差别?

java - 生命周期配置 AppEngine 未涵盖的插件执行

rvm 不使用最新的 jruby 版本 (1.7.12)

用于桌面应用程序的 Ruby gui

c# - C# 枚举自动翻译为 JavaScript

ios - 将 Haskell 翻译成 C 以便在 iPhone 上使用