将Processing Processing项目移植到Eclipse中

时间:2014-08-26 15:40:26

标签: java eclipse migration processing environment

我一直在处理一个Processing项目,现在想把它转移到Eclipse中。我已经在Eclipse环境中安装了Proclipse。

我有很多扩展名为“.pde”的文件。然而,Proclipse文件都以“.java”结尾。并且所有pde文件都存在很多依赖性问题。我该如何转换我的项目?

===============

谢谢大家!似乎没有一键式解决方案,我按照与George的答案类似的方法重构了所有代码。另外,将所有文件扩展名从“.pde”更改为“.java”。

2 个答案:

答案 0 :(得分:4)

点击此链接http://www.learningprocessing.com/tutorials/processing-in-eclipse/,您可以在此处找到有关此主题的更多详细说明。

从Processing IDE转移到另一个类似Eclipse的最重要的事情是,在处理所有类被视为内部类时,它们是较大的PApplet中的类。

首先,您需要在Eclipse项目中导入Processing库,然后您有两种方法可以使代码工作。

您可以从主类中的PApplet扩展,并在那里添加所有处理代码,包括所有其他内容,如内部clases。

或者,每次你想要加入处理内容时,你可以通过调用相同的PApplet实例来单独处理这些clases。

答案 1 :(得分:2)

何塞的建议非常好。 Proclipsing已经使创建Processing项目变得容易了。

在eclipse中运行处理代码的最简单(但不是最干净的方法)将采取以下步骤:

  1. 将代码从主选项卡复制到Proclipsing生成的类,该类扩展PApplet(删除默认/现有的空setup()和draw()函数),但仍在类'scope({})
  2. 通过粘贴代码(setup / draw / keyPressed / keyReleased / mousePressed / etc.)公开处理函数(例如public void setup(){//etc.而不是void setup(){//etc.
  3. 将其他选项卡中的其余代码粘贴到Proclipsing生成的同一java类中
  4. 向浮点类型值附加'f'(显式浮动标记)(例如3.0变为3.0f
  5. 如果您正在使用库,Proclipsing应该有帮助:右键单击项目并转到Proclipsing项目属性。如果您已设置Processing文件夹的正确路径(例如Documents / Processing),则会有额外的库,因此您只需勾选/启用它们即可。否则,您需要手动复制每个库的.jar文件并粘贴到项目的lib文件夹中,然后右键单击eclipse中的.jar文件并选择构建路径>添加到构建路径
  6. <强>更新 这是使用Processing的Export Application功能的一种稍微简单的方法。 我将使用 Examples&gt;中的Daniel Shiffman的Boids示例来解释此工作流程。主题&gt;模拟&gt;植绒,因为它有多个标签和类。

    1. 导出应用程序。这将生成一个应用程序文件夹,其中包含一个带有Flocking.java的源文件夹(如上所述,Processing实际上将所有选项卡捆绑到一个.java类中)。
    2. 创建新的Proclipsing项目
    3. package语句之后将处理生成的类中的代码粘贴到Proclipsing生成的类中。(包是一个文件夹可以容纳多个类,所以使用它来保持文件夹中的整洁/组织良好课程的内容)
    4. 更新底部的静态main方法以使用完全限定的类名(因此类名以包名为前缀)
    5. 此时希望大多数错误都应该消失。尝试将代码作为Java应用程序运行。

      问题在于,你有一个庞大的课程仍然难以维持,可能是你在第一个地方转向日食的原因。现在是重构(重构代码)的时候了,幸运的是eclipse有一些很好的工具。 如果你看到重复的代码,那么它就是一个很好的函数候选者。您可以尝试选择该代码,右键单击然后选择重构&gt;提取方法。重复代码中更改的值可以作为参数/参数提取。

      内部类应移至新的.java文件,如果您在这些类中使用Processing特定功能,则可以有多个选项:

      1. 将PApplet作为参数传递给这些类(如Jose的Eclipse处理文章链接建议)
      2. 使用PApplet的静态方法(例如PApplet.map()代替map()
      3. Implementing PConstants在课堂上
      4. 如果某个类仅处理处理中的绘图
      5. ,则传递渲染器(PGraphics

        最重要的是,你应该熟悉一下Java(从头开始编译一个HelloWorld程序,它将对Processing的内部类进行阐述),特别是一些OOP概念(组合,继承和一些基本设计模式(如作为未来的访问者或MVC。当然,如果您对这些概念不熟悉,那么:)

        更新简化的Proclipsing更新说明现在以video here的形式提供。前两分钟说明了基本过程,其余部分介绍了上面提到的一些重构概念。