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");
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);
}
用淺綠色放到每個字母上
PImage img;
int [][] pos = {{93,490},{246,524},{178,524},{161,490},{151,457},{195,491},{229,491},{263,491},{323,456},{298,490},{333,491},{366,491},{315,525},{281,524},{358,457},{392,456},{82,456},{186,456},{128,491},{220,456},{288,457},{212,524},{119,456},{145,524},{253,456},{110,525}};
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); //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);
}
按下A~Z按鍵會用透明綠色方框顯示出來PImage img;
int [][] pos = {{93,491},{247,524},{178,524},{162,490},{152,456},{195,490},
{228,491},{264,491},{322,456},{298,489},{332,490},{365,490},
{314,524},{281,524},{356,456},{390,457},{84,457},{187,457},
{128,491},{221,457},{286,456},{213,524},{119,456},{145,524},
{254,457},{109,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];//Java的陣列宣告,都是0 or false
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 = {{93,491},{247,524},{178,524},{162,490},{152,456},{195,490},
{228,491},{264,491},{322,456},{298,489},{332,490},{365,490},
{314,524},{281,524},{356,456},{390,457},{84,457},{187,457},
{128,491},{221,457},{286,456},{213,524},{119,456},{145,524},
{254,457},{109,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);//現在要打的字,是typing.charAt(0);
}
String typing = "printf";
boolean [] pressed = new boolean[26];//Java的陣列宣告,都是0 or false
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 = {{93,491},{247,524},{178,524},{162,490},{152,456},{195,490},
{228,491},{264,491},{322,456},{298,489},{332,490},{365,490},
{314,524},{281,524},{356,456},{390,457},{84,457},{187,457},
{128,491},{221,457},{286,456},{213,524},{119,456},{145,524},
{254,457},{109,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);
}
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 or 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 = {{93,491},{247,524},{178,524},{162,490},{152,456},{195,490},
{228,491},{264,491},{322,456},{298,489},{332,490},{365,490},
{314,524},{281,524},{356,456},{390,457},{84,457},{187,457},
{128,491},{221,457},{286,456},{213,524},{119,456},{145,524},
{254,457},{109,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);
}
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 or 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 = {{93,491},{247,524},{178,524},{162,490},{152,456},{195,490},
{228,491},{264,491},{322,456},{298,489},{332,490},{365,490},
{314,524},{281,524},{356,456},{390,457},{84,457},{187,457},
{128,491},{221,457},{286,456},{213,524},{119,456},{145,524},
{254,457},{109,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(ID<typing.length() && 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);
}
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 or 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 = {{93,491},{247,524},{178,524},{162,490},{152,456},{195,490},
{228,491},{264,491},{322,456},{298,489},{332,490},{365,490},
{314,524},{281,524},{356,456},{390,457},{84,457},{187,457},
{128,491},{221,457},{286,456},{213,524},{119,456},{145,524},
{254,457},{109,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(ID<typing.length() && 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);
}
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 or 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座標
}








沒有留言:
張貼留言