``` int keyX = 0; // 創造一個整數keyX 它是用於開關 void setup() { size(640, 360); // 創造一個視窗大小 640 x 360 } void draw() { println(keyX); for (int i = 0; i < keyX ; i = i+1) { line(30, i*10, 80, i*10); } if(keyX == 0){////// } if(keyX == 1){////// } if(keyX == 2){////// } if(keyX == 3){////// } if(keyX == 4){ keyX = 0; } } void keyPressed() { if (key == CODED) { if (keyCode == UP) { // 設定鍵盤上 keyX++;// keyX = keyX +1; } else if (keyCode == DOWN) { // 設定鍵盤下 keyX--; } } else { // 預設當沒按任何鍵盤時的時候 } } ``` ``` int keyX = 0; // 創造一個整數keyX 它是用於開關 void setup() { size(640, 360); // 創造一個視窗大小 640 x 360 } void draw() { println(keyX); for (int i = 0; i < keyX ; i = i+1) { line(30, i*10, 80, i*10); } } void keyPressed() { if (key == CODED) { if (keyCode == UP) { // 設定鍵盤上 keyX++; } else if (keyCode == DOWN) { // 設定鍵盤下 keyX--; } } else { // 預設當沒按任何鍵盤時的時候 } } ``` 作業程式:用按鈕換影片(長按)_Arduino ``` int inPin = 4; // 宣告要接收開關的腳位是4 int val = 0; // 宣告一個變數為接收腳位4的狀態 void setup() { Serial.begin(9600); // 設定Serial的通訊頻率9600 pinMode(13, OUTPUT); // 設定腳位13是輸出使用 pinMode(inPin, INPUT); // 設定腳位4是輸入使用 } void loop() { val = digitalRead(inPin); // 讀取腳位4的狀態給val if (val == 1) // 腳位4有電時 { digitalWrite(13, HIGH); // sets the LED to the button's value Serial.write("y"); // 傳送字元a到Serial通訊中 } if (val == 0) // 腳位4沒電時 { digitalWrite(13, LOW); // sets the LED to the button's value Serial.write("n"); // 傳送字元a到Serial通訊中 } delay(500); // 延遲0.5秒 } ``` 作業程式:用按鈕換影片(長按)_Processing ``` import processing.video.*; // 加入影片播放的功能 import processing.serial.*; // 匯入一個已經有的功能庫 Serial myPort; // 創造一個通訊物件 Movie myMovie; // 創造一個影片物件叫myMovie Movie myMovie2; // 創造一個影片物件叫myMovie2 int keyX = 0; // 創造一個整數keyX 它是用於開關 void setup() { size(640, 360); // 創造一個視窗大小 640 x 360 myMovie = new Movie(this, "C:\\01.mp4"); // 把影片01.mp4 放進myMovie myMovie2 = new Movie(this, "C:\\02.mp4"); // 把影片02.mp4 放進myMovie2 myMovie.loop(); // 設定myMovie是一直loop的影片 myMovie.pause(); // 影片myMovie讀取後先暫定不放 myMovie2.loop(); // 設定myMovie2是一直loop的影片 myMovie2.pause(); // 影片myMovie2是讀取後先暫定不放 // List all the available serial ports printArray(Serial.list()); // 抓取電腦中的通訊清單 因為有可能接不只一個arduino // Open the port you are using at the rate you want: myPort = new Serial(this, Serial.list()[0], 9600); // 使用通訊清單最近的那一個 } void draw() { if (keyX==0) { // 預設程式執行先播的影片 myMovie2.play(); // myMovie2開始播 myMovie.stop(); // myMovie 停止 image(myMovie2, 0, 0); // 在視窗位子0.0的地方畫出myMovie2 } if (keyX==1) { // 開關啟動後播的影片 myMovie.play(); // myMovie開始播 myMovie2.stop(); // myMovie2 停止 image(myMovie, 0, 0); // 在視窗位子0.0的地方畫出myMovie } while (myPort.available() > 0) { // 當有數據在通訊處才讀值 int inByte = myPort.read(); // 讀值到inByte變數中 println(inByte); // 把inByte印出來檢查 if (inByte==121) { keyX=1; } if (inByte==110) { keyX=0; } } } // Video的更新 一定要加 // Called every time a new frame is available to read void movieEvent(Movie m) { m.read(); } /* 設定鍵盤 void keyPressed() { if (key == CODED) { if (keyCode == UP) { // 設定鍵盤上 keyX = 1; } else if (keyCode == DOWN) { // 設定鍵盤下 keyX = 0; } } else { // 預設當沒按任何鍵盤時的時候 } } */ ```