2015-08-28 6 views
3

Вот код:Запуск обработки PApplet в Scala

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, но я много играл с Processing 3. Вы просто пытаетесь запустить эскиз или пытаетесь внедрить его в качестве компонента апплета? –

+0

Оба будут в порядке. – qed

+1

Какие-либо решения пока? –

ответ

5

Вы должны заполнить опцию «Параметры программы:» внутри конфигурации запуска.
Это как эта опция установлена ​​в моем случае:

6

Как указано в сообщении об ошибке:

Использование: PApplet [опции] < имя класса > [эскиз арг]

Это означает, что при запуске PApplet ему требуется хотя бы один аргумент - <class name> - полный путь к вашей эскиз. options и Sketch Args являются необязательными, как указано квадратными скобками.

Так что, если у вас есть эскиз, как это:

package com.something.nice; 

public class MySketch extends PApplet 
{ 
    ... 
} 

Затем вам нужно пройти com.something.nice.MySketch в качестве аргумента в приложении.

В IntelliJ IDEA вы делаете это в своей конфигурации сборки (через меню: Run -> Edit Configurations ...) в поле «Параметры программы».

Это требование было получено из changes from Processing v2 to v3.

апплет не исчезнут - java.awt.Applet Java больше не является базовым класс используется PApplet, поэтому любые эскизы, которые используют Applet специфических методов (или предполагает, что PApplet является Java AWT компоненты объект) будет необходимо переписать.

Вы также можете принять к сведению этот документ (то же): Метод

новые настройки(), который вызывается за кулисами. Большинство пользователей этого никогда не заметят, но если вы используете Обработку без своего препроцессора (то есть из Eclipse или аналогичной среды разработки), то затем помещает любые вызовы в size(), fullScreen(), smooth(), noSmooth () и pixelDensity() в этот метод. Более подробную информацию можно найти в справочнике . Только пользователи, которые находятся в других средах разработки, должны использовать настройки(). Он не должен использоваться для каких-либо других целей.

Смежные вопросы