PImage img;//讀入圖片
void setup(){
size(800,600);
img = loadImage("keyboard.png");
}
void draw(){
image(img,0,600-266);//將圖片放特定位子
}
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(){
print( mouseX, mouseY );
}//印出XY座標
//新增一個鍵盤按鍵的座標陣列
int [][] pos={{253,457},{230,491},{183,456},{159,490},{365,490}};
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<5;i++){
rect(pos[i][0],pos[i][1],28,30,5);
}//重複印出方形
}
boolean[] pressed = new boolean [26];
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);
}
}
void mousePressed(){
if(key>='a'&&key<='z') pressed[key-'a']=true;
}
void mouseReleased(){
if(key>='a'&&key<='z') pressed[key-'a']=false;
}
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";
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}}; boolean[] pressed = new boolean [26]; 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); fill(0); text(typed,50,100); } String typing ="printf"; String typed =""; int ID = 0; void mousePressed(){ if(key>='a'&&key<='z') { pressed[key-'a']=true; typed+= key; ID++; } } void mouseReleased(){ if(key>='a'&&key<='z') pressed[key-'a']=false; } 目前能夠打字 但完成會當機
if(key>='a'&&key<='z') {//字母正確就繼續
if(key==typing.charAt(ID)){
pressed[key-'a']=true;
typed+= key;
ID++;
}else{//
background(255,0,0);
}最終作品
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}}; boolean[] pressed = new boolean [26]; 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); fill(0); text(typed,50,100); } String typing ="printf is a function"; String typed =""; int ID = 0; void mousePressed(){ 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 mouseReleased(){ if(key>='a'&&key<='z') pressed[key-'a']=false; }
沒有留言:
張貼留言