2014年1月7日 星期二

Processing Package for Sublime 2

試過一堆 Editor for Processing, Sublime 恐怕還是最強的,因此有人為 Processing 作了 bundle/package:

https://github.com/b-g/processing-sublime

下載解壓縮,命名為 Processing ,放入以下位置:

~/Library/Application Support/Sublime Text 2/Packages

要在 Sublime 執行的話:
1. 先在 Processing.app 選擇 Tools > Install "processing-java" 指令工具
2. 回 Sublime  的 Tools > Build System > 勾選  Processing
2. Sublime  的 Tools > Build 就可以執行 Processing Sketch

2013年11月24日 星期日

Processing 2 in Aptana (Eclipse Indigo) 2

Processing 2.1 改變了套件內 Java libraries 的路徑,從 /Processing.app/Contents/Resources/Java/ 換到 /Processing.app/Contents/Java/ ,所以 Proclipsing 會出現 "/Applications/Processing.app/ does not contain the processing libs." 的錯誤訊息。

解決方法是顯示 Processing 2.1 的套件內容後,把 Processing.app/Contents/Java/ 檔案夾複製一份到 /Processing.app/Contents/Resources/ 中即可。

Processing 2 in Aptana (Eclipse Indigo) 1

Aptana Studio 3.4.x 基本上是以 Eclipse Indigo (參考 Wiki) 為基礎。因此安裝相關軟體的下載更新網站必需選擇: http://download.eclipse.org/releases/indigo

Processing 基本上是 Java 語言,因此需要從上述網站,尋找 Programming Language 類別下的 JDT (Java Development Tools) 開發工具。


在 Eclipse 使用 Processing 語法,必須安裝 proclipsing ,下載更新網站為:
http://proclipsing.googlecode.com/svn/tags/current_releases/proclipsingSite/

如果要撰複數類別(multiple classes),必須參考這篇:Processing in Eclipse 。基本關鍵為:

  1. Processing 主類別通常是延伸自 processing.core.PApplet 類別,例如主類別名為 MainPApplet 。
    package PAE
    import processing.core.PApplet;
    
    public class MainPApplet {
        
        public void setup() {
            // Other codes for setup...
        }
        public void draw() {
            // Other codes for drawing...
        }
    }
  2. 必須將主要的 PApplet 類別引入次類別。例如名為 TheSubClass 的次類別,將主類別由建構式引入,例如:TheSubClass(MainPApplet mainPAinstance) ,即可將主類別 MainPApplet 引入。
    package PAE
    
    public class TheSubClass {
        // The field for the MainPApplet Class.
        MainPApplet parent;
    
        // Constructor of TheSubClass/
        public TheSubClass(MainPApplet mainPAinstance) {
            parent = mainPAinstance;
            // Other codes for Constructor....
            
            // Register "draw" of this class to parent class!
            parent.registerMethod("draw", this);
        }
    
        public void draw() {
            parent.color(255);
            parent.rect(100, 100, 20, 20);
            // Other codes...
        }
    }
  3. 因此次類別內必須有一個 PApplet 類的變數來使用 Processing 的函數,因此前述的將 mainPA 變數代入 TheSubClass 的變數 MainPApplet  parent 。
  4. 如此就可以在 TheSubClass 類別內,用 parent.color(r, g, b) 語法,使用 Processing 的語法。
  5. 在 TheSubClass 建構式加入 parent.registerMethod("draw", this); 可以在 MainPApplet 類別註冊 draw() 事件,自動地執行 TheSubClass 類別的 draw() 函數。