- 用陣列宣告豬--mm2
※Java陣列寫法: 名稱前加[ ][ ]
製造豬豬(小小兵): 5*4的陣列
float [][]mm2X=new float[5][4];
float [][]mm2Y=new float[5][4];
boolean [][]mm2Alive=new boolean[5][4];
- 產生小小兵的位置
700是原本x的位置 向左100產生一個(100是一個小小兵的大小),100則是y向下產生。
(不會畫出小小兵)
- 判斷位置的小小兵跟叉叉距離
如果距離小於100則小小兵死掉,沒有則顯示出小小兵。
↓固定座標方式利用for迴圈畫出小小兵, 使用陣列來判斷是不是被撞。
- 程式碼:
PImage img1,img2;
float mmX=400 , mmY=300;
float mmVX=0 , mmVY=0;
float mmAX=0 , mmAY=0;
float [][]mm2X=new float[5][4]; /// 小小兵x陣列宣告
float [][]mm2Y=new float[5][4];///小小兵y陣列宣告
boolean [][]mm2Alive=new boolean[5][4]; ///小小兵存活宣告
void setup()
{
size(800,600);
img1= loadImage("1.png"); ///讀圖片--小小兵
img2= loadImage("2.png"); ///讀圖片--叉叉
imageMode( CENTER ); ///圖片原點移到正中心
for( int i=0 ; i<5 ; i++ ) {
for( int j=0 ; j<4 ; j++ ) {
mm2X[i][j]=700 - i * 100; mm2Y[i][j]=100 + j * 100; ///小小兵的位置初始化
mm2Alive[i][j]=true; ///初始化(小小兵活著)
}
}
}
void draw()
{
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if( dist( mm2X[i][j] , mm2Y[i][j] , mmX , mmY ) < 100){
mm2Alive[i][j]=false; ///小小兵跟叉叉距離<100小小兵死亡
}
///如果沒碰到則畫出小小兵
if(mm2Alive[i][j])image( img2 , mm2X[i][j] , mm2Y[i][j] , 100 , 100);
}
}
......
}
►老師重新做一個陣列的示範
※截用老師FB圖文
STEP1.
STEP2.不同的顏色
STEP3.用陣列來做事
STEP4.讓bird的座標,也用變數來做
STEP5.先寫好牛頓第一運動定律&牛頓第二運動定律。然後讓pig 碰到 bird時, 給它死 --- 沒死的才畫出來 Part 1
STEP6.先寫好牛頓第一運動定律&牛頓第二運動定律。然後讓pig 碰到 bird時, 給它死 --- 沒死的才畫出來 Part 2
STEP7.做出 (1) 直線運動, (2) 拋物線
STEP8.birdAY 加速度,可能會造成 自由落體, 所以 mouseDragged時要清空birdAY
►音樂
轉檔網址: https://www.onlinevideoconverter.com/zh/video-converter
Processing可以安裝音樂相關的 Library, 一個是官方的 Sound Library, 一個是 ddf 寫的 Minim Library。
程式碼(右邊) 範例程式(左邊)
第二種播放音檔 : minim
用一樣的 Sketch-Import Library 介面安裝好 Minim 後, 可以使用如下
import ddf.minim.*;Minim minim; AudioPlayer player; void setup(){ ... Minim = new Minim(this); player = minim.loadFile("音樂.mp3", 2048); player.loop(); }
沒有留言:
張貼留言