week09
第一步 把鍵盤圖貼上去
PImage img;void setup(){ size(800,600); img = loadImage("keyboard.jpg");}void draw(){ image(img, 0, 600-266);}
PImage img;
void setup(){
size(800,600);
img = loadImage("keyboard.jpg");
}
void draw(){
image(img, 0, 600-266);
}
背景淡黃色
PImage img;
void setup(){
size(800,600);
img = loadImage("keyboard.jpg");
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座標
}
第三步 畫出半透明的綠色框框
PImage img;
int[][]pos = {{82,455},{93,491},{111,525},{118,457},{128,491},{142,525},{153,456},{161,490},{178,525},{185,455},{198,491},{212,523},{220,457},{230,490},{245,524},{254,457},{265,490},{278,526},{287,456},{297,489},{314,525},{324,456},{331,492},{357,455},{365,490},{389,456}};
void setup(){
size(800,600);
img = loadImage("keyboard.jpg");
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);
}
第四步 按鍵盤出現綠綠
PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};
void setup(){
size(800,600);
img = loadImage("keyboard.jpg");
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];
void keyPressed(){
if(key>='a'&&key<='z')pressed[key-'a']= true;
}
void keyReleased(){
if(key>='a'&&key<='z')pressed[key-'a']=false;
}
void mousePressed(){
println(mouseX,mouseY);
}
PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};
void setup(){
size(800,600);
img = loadImage("keyboard.jpg");
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);
}
String typing = "printf";
boolean[]pressed = new boolean[26];
void keyPressed(){
if(key>='a'&&key<='z')pressed[key-'a']= true;
}
void keyReleased(){
if(key>='a'&&key<='z')pressed[key-'a']=false;
}
void mousePressed(){
println(mouseX,mouseY);
}
第六步 互動性 可以打字
PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};
void setup(){
size(800,600);
img = loadImage("keyboard.jpg");
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);
fill(0);
text(typed, 50,100);
}
String typing = "printfprintfprintf";
String typed = "";
int ID = 0;
boolean[]pressed = new boolean[26];
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;
}
void mousePressed(){
println(mouseX,mouseY);
}
第七步 打錯字 背景會紅色閃爍
..........
int ID = 0;
boolean[]pressed = new boolean[26];
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 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);
fill(0);
text(typed, 50,100);
}
String typing = "printfprintfprintf";
String typed = "";
int ID = 0;
boolean[]pressed = new boolean[26];
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);
}
}
}
..............
...........
String typing = "printf is a function";
String typed = "";
int ID = 0;
boolean[]pressed = new boolean[26];
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);
}
}
............









沒有留言:
張貼留言