week09
做一個鍵盤小遊戲
把圖片檔案放進prossesing,並顯示出圖片
PImage img;
void setup(){
size(800, 600);
img = loadImage("keyboard.png");
}
void draw(){
image(img, 0, 600-266);
}
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(){
print(mouseX, mouseY); //定位、印出mouse座標
}
讓鍵盤亮起來,先選出鍵盤要變綠的座標,在貼到程式中
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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(){
print(mouseX, mouseY); //定位、印出mouse座標
}
打到的鍵盤要顯示綠色,沒有打到則是沒有顏色
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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];
void keyPressed(){
if(key>='a'&&key<='z') pressed[key-'a'] = true;
}
void keyReleased(){
if(key>='a'&&key<='z') pressed[key-'a'] = false;
}
void mousePressed(){
print(mouseX, mouseY); //定位、印出mouse座標
}
能在鍵盤顯示出畫面的字母的顏色
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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 charAt(0)
}
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(){
print(mouseX, mouseY); //定位、印出mouse座標
打到的字會由紅變成黑
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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 charAt(0)
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;
}
void mousePressed(){
print(mouseX, mouseY); //定位、印出mouse座標
}
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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 charAt(0)
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;
}
void mousePressed(){
print(mouseX, mouseY); //定位、印出mouse座標
}
打出字母的長度不會當掉
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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 charAt(0)
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;
}
void mousePressed(){
print(mouseX, mouseY); //定位、印出mouse座標
}
空格也能打出來,並完成程式
PImage img;
int [][] pos = {{94,488},{247,524},{179,524},{160,490},{151,456},{194,489},{231,491},{264,489},{323,456},{300,489},{330,490},{367,491},{315,523},{280,526},{357,454},{389,457},{83,456},{188,457},{129,490},{220,456},{287,457},{211,524},{118,457},{145,525},{252,456},{109,524}};
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 charAt(0)
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;
}
void mousePressed(){
print(mouseX, mouseY); //定位、印出mouse座標
}









沒有留言:
張貼留言