在Scala中运行处理PApplet

时间:2015-08-28 12:27:34

标签: scala intellij-idea processing

以下是代码:

import processing.core._
import PConstants._
import PApplet._

class PApp extends PApplet{
  args = Array("PApp")
  var x: Float = 0.0f
  var y: Float = 0.0f
  var z: Float = 0.0f

  override def setup(): Unit = {
    size(200, 200, "P3D")
    x = width/2
    y = height/2
    z = 0
  }

  override def draw(): Unit = {
    translate(x, y, z)
    rectMode(CENTER)
    rect(0, 0, 10, 10)
    z += 1
  }
}

如果我尝试运行它(intellij中的ctrl-shift-R),我收到此消息:

Usage: PApplet [options] <class name> [sketch args]
See the Javadoc for PApplet for an explanation.

没有图片出现。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

您应该在运行配置中填写“程序参数:”选项 这就像在我的情况下设置此选项:

答案 1 :(得分:6)

如错误消息中所述:

  

用法:PApplet [options]&lt; class name&gt; [sketch args]

这意味着当PApplet运行时,它至少需要一个参数 - <class name> - 草图的完整类路径。 optionsSketch Args是可选的,如方括号所示。

所以,如果你有这样的草图:

package com.something.nice;

public class MySketch extends PApplet
{
    ...
}

然后,您需要将com.something.nice.MySketch作为参数传递给您的应用程序。

在IntelliJ IDEA中,您可以在构建配置中执行此操作(通过菜单:运行 - >编辑配置...),在&#34;程序参数&#34;字段。

此要求是changes from Processing v2 to v3

的结果
  

Applet已经不见了 - Java的java.awt.Applet不再是基类   由PApplet使用,因此任何使用Applet特定的草图   方法(或假设PApplet是Java AWT组件对象)将   需要重写。

您可能还想注意这个(同一个文档):

  

在幕后调用的新settings()方法。大多数用户   永远不会注意到这一点,但是如果你在没有它的情况下使用Processing   预处理器(即来自Eclipse或类似的开发环境),   然后调用size(),fullScreen(),smooth(),noSmooth()和   pixelDensity()进入该方法。更多信息可以在   参考。只有处于其他开发环境的用户才应该这样做   使用设置()。它不应该用于任何其他目的。