2012年7月15日 星期日

圓形跟矩形的碰撞


當我們GAME在一起工作坊期間,某組學員們想挑戰經典遊戲乒乓

所以包含我以及其他講師們都幫忙開始改寫起這支程式,Collision Detection Function

本支程式是用來偵測圓形跟矩形的碰撞,在javascript裡面其實很好寫

不過因為該程式裡面有許多return 等副程式的用法

在pd中比較少遇到這類型的邏輯,所以我一開始改寫時找不到要領

直到了工作坊結束的隔天才寫出來,實在有些汗顏...

以下為我在pd裡面處理return的方式:

return 通常伴隨著判斷式,當條件符合需求時,程式就中斷,執行另外一個功能。

不過因為pd 的程式邏輯屬於data flow 的方式,有連線的的物件都會驅動,所以要在pd裡面

模擬return,就必須使用[spigot]這物件,將預設開關都中斷,直到符合需求才啓。


圖示中,當條件一滿足時,程式就中斷並且送出結果。當條件一不滿足時,訊號才會送給條件二讓程式繼續執行,依此類推。


有興趣的朋友可以下載來玩,檔案在此
https://dl.dropbox.com/u/8772021/circle-rectangle-v3.pd