Week06
----------------------------------------------------------------------------------------------------------------------------
1.先印出字來
size(500,500);
textSize(64);
text("Hello World",100,100);
fill(255,0,0);
text("Red",100,200);
2.可以於教出來的視窗中打字 但有錯誤字體
void setup(){
size(500,500);
textSize(64);
}
String line="Input: ";
void draw(){
text(line,100,100);
}
void keyPressed(){
line+=key;
}
3.將錯誤改正 但無法空格換行刪除
void setup(){
size(800,500);
textSize(64);
}
String line="Input: ";
void draw(){
text(line,100,100);
}
void keyPressed(){
if(key>='A'&& key<='Z') line+=key;
if(key>='a'&& key<='z') line+=key;
}
4.解決無法刪除的問題
void setup(){
size(800,500);
textSize(64);
}
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,"test.mp3");
file.play();
}
void draw(){
}
6.放入多個音檔且指定
import processing.sound.*;
SoundFile dadada,good,over;
void setup(){
size(300,300);
dadada=new SoundFile(this,"dadada.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();
}
7.將上一項弄得完整
import processing.sound.*;
SoundFile da,dingdong,ouch;
void setup(){
size(800,400);
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();
}
}
8.可以射擊的小遊戲
void setup(){
size(400,600);
textSize(20);
}
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)*3;
x+=dx/d;
y+=dy/d;
if(keyPressed){
stroke(255,0,0);
line(220,550,x,y);
}
}
9.按對一個字母,對應的字母會變色
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(220,550,x,y);
}
}
void keyPressed(){
int i=A.length();
if(key==Q.charAt(i)){
A+=key;
}
}
10.繼上一項,混入多個單字
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(220,550,x,y);
}
}
void keyPressed(){
int i=A.length();
if(key==Q.charAt(i)){
A+=key;
if(Q.equals(A)){
randomQ();
A="";
}
}
}





沒有留言:
張貼留言