Option 1: Tun Sie dies von Processing.
Sie könnten eine riesige Verarbeitungsskizze erstellen, die die millis()
-Funktion verwendet, um festzustellen, wie viel Zeit vergangen ist, und dann den richtigen Zeichencode aus den Schülerskizzen aufrufen. Wahrscheinlich müssen Sie die Schülerskizzen bearbeiten, um sicherzustellen, dass die Variablennamen und Funktionen nicht miteinander kollidieren. Dies ist die einfachste Option, aber es kann viel manuelle Arbeit erfordern, um die Skizzen des Schülers kompatibel zu machen.
Option 2: Tun Sie dies von Java.
Dies ist wahrscheinlich die Option, mit der ich gehen würde.
Sie können die Schülerskizzen als Java-Anwendungen exportieren und die resultierenden .java
-Dateien in ein neues Java-Projekt importieren. Diese Java-Anwendung könnte einfach aufrufen, um jede Schülerskizze auszuführen. So etwas wie dies, vielleicht mit ein wenig mehr Code für den Übergang:
for(PApplet studentSketch : studentSketches){
PApplet.runSketch(studentSketch new String[]{"StudentSketchTitle"});
waitTenMinutes();
studentSketch.exit();
}
Option 3: dieses Skript aus einer Shell.
Ich bin weniger vertraut mit Shell-Skripten, aber die Grundidee ist die gleiche: Sie würden ein Shell-Skript schreiben, das die Skizzen ausführt und dann eine gewisse Zeit wartet. Dies unterscheidet sich nicht von der Planung einer anderen Anwendung, und es gibt wahrscheinlich eine Menge Ressourcen für diesen Ansatz bei Google. Wahrscheinlich müssten Sie den Übergangscode selbst in die Skizzen schreiben.
Ok, danke. Ich stimme zu, dass Option 2 am besten aussieht - ich könnte sogar ein kleines Clojure-Tool dafür schreiben. Ich weiß, dass sich das [Applet-Zeug] (https://github.com/processing/processing/wiki/Changes-in-3.0#things-that-may-break-your-2x-sketches) in Processing 3.0 geändert hat, aber Ich werde mir die Dokumente ansehen. – Ben
@Ben Ja, 'PApplet' erweitert nicht mehr 'Applet', so dass Sie es nicht als eine Komponente wie gewohnt einbetten können. Sie könnten versuchen, zurück zu Processing 2 zu gehen, wenn Sie das brauchen, aber die bessere Option ist die 'runSketch()' -Funktion zu benutzen, die ziemlich genau das tut, was auf der Box steht. –
Vielen Dank für Ihre Hilfe @Kevin Workman. Nur noch eine Frage - ist das Exportieren der Skizzen der beste Weg, um ein PApplet von jeder Skizze (d. H. Aus einer Reihe von. Pde-Dateien in einem Ordner) zu erhalten? Oder kann ich 'PApplet.main()' direkt mit dem Pfad zum Ordner aufrufen? – Ben