Week09
PImage img;void setup(){ size(800,600); img=loadImage("keyboard.png"); } void draw(){ image(img,0,600-266); }
要記得把圖片拉進processing-1
複製程式碼下方的座標,到Notepad++ > 取代 > "空格"取代為"," > 全部取代
對著26個字母一個一個點擊
PImage img; void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); } void mousePressed(){ println(mouseX,mouseY);//定位、印出mouse座標 }
程式碼下方的座標
-2
26個座標點
PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 rect(pos[i][0],pos[i][1],28,30,5); } } void mousePressed(){ println(mouseX,mouseY);//定位、印出mouse座標 }
7個座標點
PImage img; int [][] pos = {{101,378},{222,488},{158,490},{374,420},{331,488},{254,457},{287,456}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<7;i++){//注意啦 rect(pos[i][0],pos[i][1],28,30,5); } } void mousePressed(){ println(mouseX,mouseY);//定位、印出mouse座標 }
-3
按鍵盤按鍵會亮綠色點點,顯示出當下打出的字,且放開按鍵時,綠色點點會消失
PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 if(pressed[i]) rect(pos[i][0],pos[i][1],28,30,5); } } boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0或false void keyPressed(){ if(key>='a'&&key<='z') pressed[key-'a'] = true; } void keyReleased(){ if(key>='a'&&key<='z') pressed[key-'a'] = false; }
-4
PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 if(typing.charAt(0)-'a' == i) rect(pos[i][0],pos[i][1],28,30,5); if(pressed[i]) rect(pos[i][0],pos[i][1],28,30,5); } fill(0);//黑色的字 textSize(50); text(typing,50,50); text(typing.charAt(0),50,100);//現在要打得字,是typing } String typing = "printf"; boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0或false void keyPressed(){ if(key>='a'&&key<='z') pressed[key-'a'] = true; } void keyReleased(){ if(key>='a'&&key<='z') pressed[key-'a'] = false; }
-5
PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 if(typing.charAt(ID)-'a' == i) rect(pos[i][0],pos[i][1],28,30,5); if(pressed[i]) rect(pos[i][0],pos[i][1],28,30,5); } textSize(50); fill(0);//黑色的字 text(typing,50,50);//要打的字 fill(255,0,0);//紅色 text(typed + typing.charAt(ID),50,100);//現在要打得字,是typing fill(0);//再用黑色,秀出已經打好的字 text(typed,50,100);//已經打好的字 } String typing = "printfprintfprintf"; String typed = "";//一開始打了0個字 int ID = 0;//第幾個字母要被打 boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0或false void keyPressed(){ if(key>='a'&&key<='z'){ pressed[key-'a']=true; typed += key; ID++; } } void keyReleased(){ if(key>='a'&&key<='z') pressed[key-'a'] = false; }
-6
PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 if(typing.charAt(ID)-'a' == i) rect(pos[i][0],pos[i][1],28,30,5); if(pressed[i]) rect(pos[i][0],pos[i][1],28,30,5); } textSize(50); fill(0);//黑色的字 text(typing,50,50);//要打的字 fill(255,0,0);//紅色 text(typed + typing.charAt(ID),50,100);//現在要打得字,是typing fill(0);//再用黑色,秀出已經打好的字 text(typed,50,100);//已經打好的字 } String typing = "printfprintfprintf"; String typed = "";//一開始打了0個字 int ID = 0;//第幾個字母要被打 boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0或false void keyPressed(){ if(key>='a'&&key<='z'){ if(key==typing.charAt(ID)){//字母正確就往下 pressed[key-'a']=true; typed += key; ID++; }else{ background(255,0,0);//畫面紅色一直閃 } } } void keyReleased(){ if(key>='a'&&key<='z') pressed[key-'a'] = false; }-7PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 if(ID<typing.length() && typing.charAt(ID)-'a' == i) rect(pos[i][0],pos[i][1],28,30,5); if(pressed[i]) rect(pos[i][0],pos[i][1],28,30,5); } textSize(50); fill(0);//黑色的字 text(typing,50,50);//要打的字 fill(255,0,0);//紅色 if(ID<typing.length()) text(typed + typing.charAt(ID),50,100);//現在要打得字,是typing fill(0);//再用黑色,秀出已經打好的字 text(typed,50,100);//已經打好的字 } String typing = "printfprintfprintf"; String typed = "";//一開始打了0個字 int ID = 0;//第幾個字母要被打 boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0或false void keyPressed(){ if(key>='a'&&key<='z'){ if(ID<typing.length() && key==typing.charAt(ID)){//字母正確就往下 pressed[key-'a']=true; typed += key; ID++; }else{ background(255,0,0);//畫面紅色一直閃 } } } void keyReleased(){ if(key>='a'&&key<='z') pressed[key-'a'] = false; }-8PImage img; int [][] pos = {{83,457},{91,491},{110,524},{117,456},{127,490},{142,524},{153,456},{162,493},{176,525},{185,456},{197,493},{212,527},{221,454},{228,493},{245,523},{253,457},{265,492},{279,523},{285,454},{297,496},{317,524},{319,453},{332,491},{355,458},{365,488},{392,458}};//這行有幾個下面for的i<"數字"就要有幾個 void setup(){ size(800,600); img=loadImage("keyboard.png"); rectMode(CENTER);//用中心點畫四邊形 } void draw(){ background(#FFFFF2);//淡黃色,清背景 image(img,0,600-266); fill(255,0,0,128);//半透明的紅色 rect(mouseX,mouseY,28,30,5); fill(0,255,0,128);//半透明的綠色 for(int i=0;i<26;i++){//注意啦 if(ID<typing.length() && typing.charAt(ID)-'a' == i) rect(pos[i][0],pos[i][1],28,30,5); if(pressed[i]) rect(pos[i][0],pos[i][1],28,30,5); } textSize(50); fill(0);//黑色的字 text(typing,50,50);//要打的字 fill(255,0,0);//紅色 if(ID<typing.length()) text(typed + typing.charAt(ID),50,100);//現在要打得字,是typing fill(0);//再用黑色,秀出已經打好的字 text(typed,50,100);//已經打好的字 } String typing = "printf is a function"; String typed = "";//一開始打了0個字 int ID = 0;//第幾個字母要被打 boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0或false void keyPressed(){ if(ID<typing.length() && key==typing.charAt(ID)){ if(key>='a'&& key<='z'){ pressed[key-'a']=true; typed += key; ID++; }else if(key==' '){ typed += key; ID++; }else{ background(255,0,0);//打錯畫面紅色一直閃 } } } void keyReleased(){ if(key>='a'&&key<='z') pressed[key-'a'] = false; }






沒有留言:
張貼留言