week06
第一步 改變文字大小及顏色
size(500,500);
textSize(64);
text("Hello World", 100, 100);
fill(255,0,0);
text("Red", 100, 200);
第二步 當按住滑鼠 就可以打出鍵盤上的數字
void setup(){
size(500,500);
textSize(64);
}
String line = "Input:";
void draw(){
text(line, 100,100);
}
void keyPressed(){
line += key;
}
第三步 可以打出大小寫
.........
void keyPressed(){
if(key>='A' && key<='Z') line += key;
if(key>='a' && key<='z') line += key;
}
第四步 可以刪掉字母重打
............
String line = "";
void draw(){
background(0);
text("Input: " +line, 50,100);
}
void keyPressed(){
if(key>='A' && key<='Z') line += key;
if(key>='a' && key<='z') line += key;
if(key==BACKSPACE && line.length()>0){
line = line.substring(0, line.length()-1);
}
}
第五步 加入音樂
import processing.sound.*;
SoundFile file;
void setup(){
size(300,300);
file = new SoundFile(this, "th.mp3");
file.play();
}
void draw(){
}
第六步 按123播小葉的dadada
import processing.sound.*;
SoundFile dadada, good, over;
void setup(){
size(300,300);
dadada = new SoundFile(this, "dadadadada.mp3");
good = new SoundFile(this, "good.mp3");
over = new SoundFile(this, "over.mp3");
}
void draw(){
text("press 1, 2, 3", 100,100);
}
void keyPressed(){
if(key =='1') dadada.play();
if(key =='2') good.play();
if(key =='3') over.play();
}
第七步 合併第四步和第六步
(按字母會播da backspace會播ouch enter會播)
import processing.sound.*;
SoundFile da, dingdong, ouch;
void setup(){
size(800,400);
textSize(64);
da = new SoundFile(this, "da.mp3");
dingdong = new SoundFile(this, "dingdong.mp3");
ouch = new SoundFile(this, "ouch.mp3");
}
String line = "";
void draw(){
background(0);
text("Input: " +line, 50,100);
}
void keyPressed(){
if(key>='A' && key<='Z') {line += key; da.play(); }
if(key>='a' && key<='z') {line += key; da.play(); }
if(key==BACKSPACE && line.length()>0){
line = line.substring(0, line.length()-1);
ouch.play();
}
if(key==ENTER){
dingdong.play();
}
第八步 做出會動的字
void setup(){
size(400,600);
textSize(12);
}
String Q = "hello", A=" ";
float x=100, y=100;
void draw(){
background(0);
text(Q, x, y);
ellipse(200,550, 20,20);
float dx = (200-x), dy = (550-y), d = sqrt(dx*dx+dy*dy);
x += dx / d;
y += dy / d;
}
第九步 打字就會出現一條線
..........
if(keyPressed){
stroke(255,0,0);
line(200,550,x,y);
}
......
第十步 打出正確字母 會變色
void setup(){
size(400,600);
textSize(20);
}
String Q = "hello", A="";
float x=100, y=100;
void draw(){
background(0);
fill(#FFFFFF); text(Q, x, y);
fill(#FF0000); text(A, x, y);
ellipse(200,550, 20,20);
float dx = (200-x), dy = (550-y), d = sqrt(dx*dx+dy*dy)*3;
x += dx / d;
y += dy / d;
if(keyPressed){
stroke(255,0,0);
line(200,550,x,y);
}
}
void keyPressed(){
int i = A.length();
if(key == Q.charAt(i)){
A += key;
}
}
第十一步 打字遊戲
void setup(){
size(400,600);
textSize(20);
randomQ();
}
void randomQ(){
int i = int(random(QQ.length));
Q = QQ[i];
x = random(0,300);
y = random(0,100);
}
String [] QQ = {"void", "setup", "float", "string", "background", "fill"};
String Q = "hello", A="";
float x=100, y=100;
void draw(){
background(0);
fill(#FFFFFF); text(Q, x, y);
fill(#FF0000); text(A, x, y);
ellipse(200,550, 20,20);
float dx = (200-x), dy = (550-y), d = sqrt(dx*dx+dy*dy)*3;
x += dx / d;
y += dy / d;
if(keyPressed){
stroke(255,0,0);
line(200,550,x,y);
}
}
void keyPressed(){
int i = A.length();
if(key == Q.charAt(i)){
A += key;
if(Q.equals(A)){
randomQ();
A= "";
}
}
}











沒有留言:
張貼留言