2012年2月1日 星期三

Pd模擬P5的範例 「Springs」

原始的springs範例: http://processing.org/learning/topics/springs.html

在這支程式裡,當滑鼠移動到圓球內,就可以改變圓球位置,不過因為受到不同阻力,和圓球本身帶的重力影響,拖拉不同圓球時,球的運動方式都不同。並且當滑鼠釋放後,圓球就會以不同的彈性回到原本的座標。


在改寫這支程式時遇到點小問題。問題雖小,可是因為我誤解了他的意思,所以花了一些時間撰寫,在這裡我把我誤會的地方提出來跟大家分享。


// Make sure no other springs are active
  boolean otherOver() {
    for (int i=0; i
      if (i != me) {
        if (friends[i].over == true) {
          return true;
        }
      }
    }
    return false;
 }

以上這段程式是原本spricgs範例裡,當單一物件開始動作時,能避免其他物件不會被選取。而我一開使誤會成迴圈一定要跑完,函式才會結束。其實當if (friends[i].over == true) ,這個條件成立時,就會回送boolean值true給otherOver(),迴圈以及函式就結束了,而如果迴圈跑完,還沒有任何條件成立時,才回送false給本函式。


物理運動真的很趣,在改寫的過程也對processing越來越瞭解,歡迎大家下載來玩看看~

File Download