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