我可以在Eclipse上运行一个程序来打开控制台,然后打开一个处理窗口吗?

时间:2019-06-07 06:33:34

标签: java eclipse console processing

对于我的AP计算机科学课程,我正在做一个口袋妖怪个性测验,让您回答几个问题,并向您提供您最喜欢的哪个口袋妖怪。我们刚刚学习了Processing,并且该项目的年末计划是利用我们所学的知识制作程序。因此,对于我的个性测验,我有在eclipse控制台中运行的代码,并且我让播放器回答了几个问题,并且跟踪了他们的回答。不同的答案可以统计不同的Pokemon,并且在程序结束时,您最喜欢的Pokemon就是得分最高的一个。但是,为了进行处理,我想给口袋妖怪拍一张照片,测验一旦完成,它的声音效果就会出现。不幸的是,我无法弄清楚该怎么做。我有什么可以做的吗?

1 个答案:

答案 0 :(得分:1)

选项1-启动前测验:

您可以像这样延迟处理程序的启动。您可以执行测验,然后创建并运行您的处理类的实例(此处为 PokemonSketch )。您如何将信息从测验传递到PApplet实例取决于您。

public static void main(String[] args) {
    //Quiz Code
    //Quiz Code
    //Quiz Code
    PokemonSketch sketch = new PokemonSketch();
    PApplet.runSketch(new String[]{""}, sketch);
}

选项2-启动后测验:

在这里,PApplet立即运行,并在setup()内完成测验。

首先通过调用size()在Processing的FX2D渲染模式下初始化您的草图:

@Override
public void settings() {
    size(x, y, FX2D);
}

现在,我们可以在启动时隐藏窗口,进行测验,并在完成时显示窗口(然后处理将运行绘制循环)。

@Override
public void setup() {
    final PSurfaceFX FXSurface = (PSurfaceFX) surface;
    final Canvas canvas = (Canvas) FXSurface.getNative();
    final Stage stage = (Stage) canvas.getScene().getWindow();
    stage.hide();

    final Scanner reader = new Scanner(System.in);
    System.out.println("Enter a number: ");
    final int n = reader.nextInt();
    reader.close();

    stage.show();
}