2015-08-28 58 views
3

这里处理PApplet是代码:运行在斯卡拉

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 
    } 
} 

如果我尝试运行此(按Ctrl-Shift-R键中的IntelliJ),我得到这个消息:

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

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

+0

我不熟悉Scala的,但我一直在处理3颇有几分玩耍。你只是试图启动一个草图,或者你是否试图将它嵌入为一个小程序组件? –

+0

两者都可以。 – qed

+1

到目前为止的解决方案? –

回答

5

您应该在运行配置中填写“程序参数:”选项。
这就好比这个选项是建立在我的情况:

6

由于错误消息指出:

用法:PApplet [选项] <类名> [草图参数]

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

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

package com.something.nice; 

public class MySketch extends PApplet 
{ 
    ... 
} 

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

在IntelliJ IDEA的,你这样做在你的构建配置(通过菜单:运行 - >编辑配置...),在“程序参数”字段。

此要求是changes from Processing v2 to v3的结果。

Applet的消失 - Java的java.awt.Applet不再由PApplet使用的基类 ,使利用Applet的特定 方法中的任何草图(或假设PApplet是一个Java AWT组件对象)将 需要重写。

您可能还需要注意本(相同DOC)的:

被称为幕后的一个新的设置()方法。如果你使用的处理,而无需其 预处理器(即从Eclipse或类似的开发环境), 然后把任何调用大小(),全屏(),流畅(),noSmooth(大多数用户 不会注意到这一点,但)和 pixelDensity()进入该方法。更多信息可在 参考中找到。只有在其他开发环境中的用户应使用设置() 。它不应该用于任何其他目的。