2010年9月16日 星期四

Processing 筆記(四)- 滑鼠按鍵互動

1. mouseX 與 mouseY 為當前的滑屬位置,text(顯示的文字, 滑鼠位置x, 滑鼠位置 y ) 可用來設定文字,以及其出現在畫面的位置。

範例:以文字顯示滑鼠位置

Pfont arial;

void setup( ) {
   size(300, 300)
   arial = createFont("Arial", 32);
   // 定義 arial 為系統中的 Arial 字型
   textfont(arial, 15);
  // 設定字形
}

void draw( ) {
   background(0);
   // 將背景設為黑色,以便清除之前的文字
   text(" position is "+mouseX+ " "+mouseY", mouseX, mouseY);
   // 以文字 position is 顯示當前滑鼠座標
}

2. mousePressed( ) 物件可用來將按下滑鼠左鍵的動作與欲觸發的事件相連結。其必須配合 draw( ) 的使用才能運作。

範例:繪製一個方形,並利用滑鼠的 x 座標決定方形填色時的 alpha 數值。滑鼠越偏右方,alpha 數值越大。每當滑鼠按下時,便分行印出其所在位置的 x 值。

int alphaValue = 0;


void setup() {
    size(350, 300);
    background(0xFFFFFFFF);
}

void draw() {
    background(0xFFFFFFFF); // 背景顏色設定成白
    fill(255, 0, 0, alphaValue); //填入紅色
    rect(100, 100, 100, 100); // 繪製方形
}

void mousePressed( ){
   print(mouseX + "\n"); // 換行印出滑鼠的 x 座標
   alphaValue = mouseX; // 以滑鼠位置之 x 值決定 alpha 數值
}

沒有留言:

張貼留言