2010年12月26日 星期日

fluxus-note (with-state)

在fluxus中,(with-state.....)內的訊息回繼承之前訊息,但不會把訊息送出,只會作用在(with-state)中



在上面範例中,一開始就先在x坐標位移3個單位,所以可以看到綠方塊跟紅球都有受到作用。
但當我們在(with-state)裡下得縮小跟位移y軸4個單位的指令,只有作用在綠色方塊,紅球不受影響。

fluxus-puredata 交互練習一 遞迴扭曲的球體

2010年12月25日 星期六

fluxus-note if 判斷式

在fluxus裡if的文法是這樣的,(if(判斷式)(ture時輸出)(false時輸出))

所以在下圖的案例中,因為(bb 15)的bb>0,會選擇輸出(+ x 100),所以答案是115。

fluxus-note cond判斷式

在fluxus中,有兩種判斷式的寫法

其中一種cond是這樣子用的,(cond ((條件判斷)輸出結果)),舉一個例子

如果是fluxus>(cond ((< 3 5) 1111 )),在這個式子中3<5成立,所以會輸出1111這個值。

但是如果在上述的例子中,如果條件不成立,不會有任何東西輸出。

為了避免這問題,我們可以寫成(cond ((>3 5) 1111)(else 2222)),這個例子最終輸出是

2222。










更進階的使用方式是,我們可以可以幫物件取一個名稱,並且藉由判斷物件的數值在來進行動作

程式可以寫成

(define (aa x)(cond ((> x 100)(+ x 100))(else (- x 100))))

所以在上述的例子中,當我輸入(aa 15),因為 aa>0,所以會進行 x+100的動作,這裡會輸出115。當我輸入(aa -100)時,因為aa<0 所以答案會是-200。


2010年12月9日 星期四

[筆記-39] 用[qlist]來當陣列 筆記ㄧ



把.txt檔案放在跟.pd檔的同個資料夾裡(上圖的資料夾名稱為test_qlist)





1.這程式首先用迴圈去產生10組數值

2.每組的內容分別為(name , $1,($1*2),($1*2)+1)

3.然後將檔案寫入 aa.txt

4.print出aa.txt內容,又或者可以透過[route 變數],把每組的第三個參數顯示出來。

2010年12月6日 星期一

▌pd note_55 快速的綁定nanoKONTROL的方法


這裡只要在route裡面新增頻道名稱,例如1-4 1-5 1-6.......
就可以新增其他控制頻道。

2010年12月2日 星期四

googlecode&終端機&Mercurial 筆記

之前要跟李駿一起寫pd的tweener(其實多半是他寫的,我根本毫無作用)

然後這裡有一些使用Mercurial的相關語法(在終端機底下輸入),來提醒我自己快去寫tweener。


常用功能
hg clone https://pd-tweener.googlecode.com/位址
//將檔案從google code抓回

hg status
//檢查有無變更檔案

hg remove 檔案名稱
//移除檔案

hg add 檔案名稱
//新增檔案


上傳檔案
hg commit -u 你的@名稱 -m "這版本的更新內容"

hg push
//上傳檔案


拉回檔案
hg pull
//將遠端檔案拉回(在這之前要先cd 到資料夾裡)

hg update
//檢查有無其他變更