首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mate libGDX和Jetbrains MPS

Mate libGDX和Jetbrains MPS
EN

Stack Overflow用户
提问于 2016-01-19 11:03:35
回答 2查看 138关注 0票数 1

我还在LibGDX论坛上发布了这个问题。

嘿你好啊!为了我的论文,我正在写一个DSL来描述图片的外观。根据DSL输入,这些图片将由libGDX绘制.到目前为止,jetbrains的MPS (v.3.0)和最新的libGDX-版本已经在使用。我的实际问题是:如何设计我的MPS语言和java-libGDX-图片生成器之间的互连。

Jetbrains的议员没有被广泛传播,但我相信,我的问题可以在不知情的情况下得到解决。在DSL中,生成器被设计为构建一个可以执行的类(公共静态void )。下面是几个启动图片生成的方法调用。把它想象成generatePicture(200 my,150 my,"blue") (它要复杂得多,但我认为这对我的问题并不重要)。

在libGDX中,我有几个启动程序(特别是DesktopLauncher),这些是程序的主要类,它们是启动的。目前,启动程序启动另一个类(我将其命名为"Main"),下面是方法调用。libGDX程序是通过jar工件插入MPS中的,因此它的方法可以在我的DSL中使用。

什么是让我的DSL代码启动我的libGDX-程序的好方案?我必须进行所有这些方法调用并启动发射器。我考虑了一个额外的类来初始化启动程序并进行调用,或者尝试将来自DSL的调用插入jar类中。是否有类似的问题存在,或谁面临这个问题?我相信我会以某种方式使它发挥作用,但我对一个好的、顺利的解决方案感兴趣。

编辑

问题是,我肯定需要DesktopLauncher及其配置来在libGDX内部运行PictureGenerator。

编辑2- first approach

这又是议员们的事了。我考虑用MPS生成器生成Picture类,但是运行Launcher类。这有可能吗?要从解决方案中运行类,需要实现IMainClass,但启动程序不能。启动程序看起来总是一样的。是否有比生成的类更能运行另一个类的功能?

或者在libGDX-站点上:可以合并launcher和Picture类来插入配置吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-31 13:10:45

好的,我做了,按照我的第二次编辑的想法。

  • 在MPS中生成一个文件。
  • 可以执行生成的文件。
  • 使用libgdx jar文件。

在MPS中,我用内部类生成下面的类

代码语言:javascript
复制
public class DesktopLauncher {
  public static void main(string[] args) {
    LwjglApplicationConfiguration config = new LwgjlApplicationConfiguration();
    new LwjglApplication(new Picture(), config);
  }

  public static class Picture extends ApplicationAdapter {
    public Picture(){}
    PictureGeneratorImpl generator;

    public void create() {
      generator = new PictureGeneratorImpl();
    }

    public void render() {
      generator.generatePicture();
      generator.exit();
    }

    public void dispose() {
      generator.dispose();
    }
  }
}

作为附加信息:我的libgdx包含整个项目(包括核心和桌面)。我希望这能帮助那些想要把议员和libGDX结合起来的人。

票数 0
EN

Stack Overflow用户

发布于 2016-01-19 14:19:33

查看robot_Kaja示例(在MPSSamples.3.3\robot_Kaja中)。Script概念实现了IMainClass接口,使运行该概念的实例成为可能。您可以右键单击jetbrains.mps.samples.Kaja.sandbox解决方案中的任何脚本,然后在弹出菜单中看到一个Run选项。单击它将运行此脚本生成的代码。

在您的示例中,您可能还有一些类似于脚本的顶级概念,该脚本生成于Java (baseLanguage) Main类中。只要让这个概念实现IMainClass,就可以直接从MPS运行它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34875097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档