2016-09-23 65 views
1

我正在策劃處理學生作品的畫廊展示,所以我有大約100個草圖,隨着時間的推移,我想要循環訪問約10臺iMac。在畫廊中安排草圖顯示

我可以導出草圖,通過IDE或通過processing-java工具運行它們。我非常熱衷於從一幅草圖到下一幅草圖的無縫過渡(也許是從淡入淡出到黑色過渡)。如有必要,我甚至可以確保草圖都包含某些代碼/鉤子以提供幫助。

有關最佳方式的任何想法?

回答

0

選項1:從Processing處理。

您可以創建一個巨大的加工草圖,該草圖使用millis()函數來確定已經過了多少時間,然後從學生草圖中調用正確的繪圖代碼。您可能必須編輯學生草圖以確保變量名稱和函數不會發生衝突。這是最簡單的選擇,但可能需要大量手動工作才能使學生草圖兼容。

選項2:從Java執行此操作。

這可能是我選擇的選項。

您可以將學生草圖導出爲Java應用程序,然後將生成的.java文件導入到新的Java項目中。該Java應用程序可以簡單地調用PApplet.runSketch()來運行每個學生草圖。像這樣的事情,也許與過渡多一點代碼:

for(PApplet studentSketch : studentSketches){ 
    PApplet.runSketch(studentSketch new String[]{"StudentSketchTitle"}); 
    waitTenMinutes(); 
    studentSketch.exit(); 
} 

方案3:從一個shell腳本執行此操作。

我對shell腳本知識較少,但基本思想是一樣的:你會編寫一個運行草圖的shell腳本,然後等待一定的時間。這與調度任何其他應用程序沒有什麼不同,並且Google可能會爲此提供大量資源。儘管如此,您可能必須將轉換代碼寫入草圖。

+0

好的,謝謝。我同意選項2看起來最好 - 我甚至可以寫一個clojure工具來做到這一點。我知道Processing 3.0中的[applet stuff](https://github.com/processing/processing/wiki/Changes-in-3.0#things-that-may-break-your-2x-sketches)已經更改,但我會看看這些文檔。 – Ben

+0

@Ben Yeah,'PApplet'不再延伸'Applet',所以你不能像以前那樣將它嵌入到組件中。如果你需要的話,你可以試着回到Processing 2,但更好的選擇是使用'runSketch()'函數,它的功能幾乎與盒子上的一樣。 –

+0

感謝您的幫助@Kevin Workman。還有一個問題 - 導出草圖是從每個草圖中獲取PApplet的最佳方法(即從一組文件夾中的.pde文件中獲取)?或者我可以直接調用帶有該文件夾路徑的'PApplet.main()'? – Ben