estoy usando algo de JavaScript para permitir a los usuarios cargar dinámicamente un boceto al hacer clic en un elemento de tela usando:dinámica de "descarga" un boceto de procesamiento de JS lienzo
Processing.loadSketchFromSources ('canvas_id', [ 'sketch.pde']);
si llamo Processing.loadSketchFromSources (...) una segunda vez (o tercera ...), se carga una segunda (o tercera ...) Archivo .pde sobre el lienzo, que es lo que yo Esperaría.
Me gustaría que el usuario pueda hacer clic en otro enlace para cargar un boceto diferente, descargando efectivamente el anterior. ¿Hay algún método al que pueda llamar (o una técnica que pueda usar) para verificar si Processing tiene otro boceto en ejecución y, de ser así, decirle que lo descargue primero?
¿Hay algún tipo de método Processing.unloadSketch() que tenga en cuenta? Simplemente podría soltar el objeto DOM de lienzo y volver a crearlo, pero (1) parece usar un martillo cuando necesito una aguja, y (2) da como resultado un parpadeo de pantalla que me gustaría evitar.
No soy experto en JS, pero he hecho todo lo posible para consultar la fuente de processing.js y ver qué otras funciones pueden existir, pero estoy chocando contra una pared. Pensé que tal vez podría mirar Processing.Sketches.length para ver si algo ya está cargado, pero simplemente apagarlo no parece funcionar (no pensé que lo haría).
Estoy usando ProcessingJS 1.3.6.
Gracias por responder ..me consiguió un 75% allí ... Hay dos "modos" de usar Processing en Javascript: (1) cargar un archivo .pde de procesamiento dinámicamente, o (2) escribir su script de Processing dentro de JS. El "error fatal" es que **. LoadSketchFromSources() ** no parece devolver un identificador utilizable. En su lugar, debe mirar ** Processing.instances.length ** para determinar que se está ejecutando actualmente. Si es así, puede llamar a ** Processing.instances [0] .exit() ** ... siempre que haya una sola secuencia de comandos ejecutándose. (Lo siento, no puedo +1 tu respuesta, todavía no tengo suficientes pts). –