---
# System prepended metadata

title: Untitled

---


```
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 {  //  預設當沒按任何鍵盤時的時候
 }
}
*/
```

