Week06
本周内容為讀取圖片loadImage,圖片的一些處理,imageMode;聲音播放,keyPressed和keyReleased函式,陣列,簡單聲音互動及鋼琴
1.顯示圖片
有兩種方式顯示圖片,網址或圖檔名稱
(1)網址
PImage img;//img為變數名稱
void setup(){
size(500,500);
img=loadImage("https://upload.wikimedia.org/wikipedia/zh/c/c8/Doraemon_volume_1_cover.jpg");
}
void draw(){
image(img,0,0);
}
(2)把圖檔拉到程式碼
用滑鼠將圖檔拖拽至界面,只需將網址改爲圖檔名稱
img=loadImage("dora.jpg");
2.改變圖片大小圖片大小可以調整,以下調整爲100,100
void draw(){
image(img,0,0,100,100);
}
3.顯示兩張圖片
可以顯示多張圖片,PImage宣告多個變數
PImage img1,img2;
void setup(){
size(500,500);
img1=loadImage("bg.jpg");
img2=loadImage("dora.jpg");
}
void draw(){
image(img1,0,0,500,500);
image(img2,mouseX,mouseY,200,200);
}
4.去背景
(1)Ctrl+K打開資料夾data
(2)PowerPoint移除背景
5.修改滑鼠位置到正中心
有兩種方式修改滑鼠位置
(1)mouseXY調整
image(img2,mouseX-100,mouseY-100,200,200);
void draw(){
imageMode(CORNER);
image(img1,0,0,500,500);
imageMode(CENTER);
image(img2,mouseX,mouseY,200,200);
}
6.聲音
Sketch--Library--Add Library--找sound--minim/sound可以下載使用
7.播放
File--examples--Minim--Basics--PlayAFile--copy
先找範例,方便改寫
import ddf.minim.*;//安裝的
Minim minim;//變數宣告
AudioPlayer player;//變數宣告
void setup()
{
size(500, 500);
minim = new Minim(this);//設定好
player = minim.loadFile("groove.mp3");
player.play();//mp3檔,copy拉過來
}
void draw(){
}
8.添加bgm
按下滑鼠播放bgm
import ddf.minim.*;//安裝的
Minim minim;//變數宣告
AudioPlayer player,player2;//多個變數宣告
void setup()
{
size(500, 500);
minim = new Minim(this);//設定好
player = minim.loadFile("groove.mp3");
player2 = minim.loadFile("bg.mp3");
player2.play();//mp3檔,copy拉過來
}
void draw(){
}
void mousePressed(){
player.play();
}
9.播放doremifaso
按下鍵盤播放的keyPressed函式以及rewind
import ddf.minim.*;
Minim minim;
AudioPlayer doo,re,mi,fa,so;//多個變數宣告
void setup()
{
size(500, 100);
minim = new Minim(this);
doo = minim.loadFile("do.wav");
re = minim.loadFile("re.wav");
mi = minim.loadFile("mi.wav");
fa = minim.loadFile("fa.wav");
so = minim.loadFile("so.wav");
}
void keyPressed(){//按下鍵盤進行播放
if(key=='1') {doo.rewind(); doo.play();}//需要用到rewind
if(key=='2') {re.rewind(); re.play();}
if(key=='3') {mi.rewind(); mi.play();}
if(key=='4') {fa.rewind(); fa.play();}
if(key=='5') {so.rewind(); so.play();}
}
void draw(){
}
10.鋼琴
簡單的鋼琴互動程式,用到Pressed和Released以及陣列和其判斷
import ddf.minim.*;
Minim minim;
AudioPlayer doo,re,mi,fa,so;
void setup()
{
size(500, 100);
minim = new Minim(this);
doo = minim.loadFile("do.wav");
re = minim.loadFile("re.wav");
mi = minim.loadFile("mi.wav");
fa = minim.loadFile("fa.wav");
so = minim.loadFile("so.wav");
}
void keyPressed(){//按下陣列中數字變爲1
if(key=='1') {doo.rewind(); doo.play(); down[0]=1;}
if(key=='2') {re.rewind(); re.play(); down[1]=1;}
if(key=='3') {mi.rewind(); mi.play(); down[2]=1;}
if(key=='4') {fa.rewind(); fa.play(); down[3]=1;}
if(key=='5') {so.rewind(); so.play(); down[4]=1;}
}
void keyReleased(){//如果鬆開陣列中數字還原為0
if(key=='1') down[0]=0;
if(key=='2') down[1]=0;
if(key=='3') down[2]=0;
if(key=='4') down[3]=0;
if(key=='5') down[4]=0;
}
int [] down={0,0,0,0,0};//陣列宣告
void draw(){
background(255);
for(int i=0;i<5;i++){
if(down[i]==0) fill(255);//如果鬆開還原填充為白色
else fill(255,0,0);
rect(i*100,0,100,100);
}
}
沒有留言:
張貼留言