[TODO]
上課內容:
精靈文字1
// week09_1_createFont_loadFont_textFont size(500,500); //大視窗 background(0); //黑色背景 textSize(50); text("Hello",50,50); PFont font = createFont("標楷體",50); textFont(font); text("中文看到了",50,150); PFont font2 = createFont("elffont-rock.otf",50); textFont(font2); //記得把字型,點兩下,安裝,再把檔案拉進來,才能順利createFont() text("ㄓㄨㄎㄉㄌ",50,250);
精靈文字2
// week09_2_PFont_outside_void_setup_createFont_void_draw_text PFont font0, font1, font2; // 3種字型:英文、中文、注音文(外面宣告,兩個函式都看得到) void setup(){ size(500,500); //大視窗 font0 = createFont("Ariel",50); font1 = createFont("標楷體",50); font2 = createFont("elffont-rock.otf",50); //字型檔也要拉進來! //println(PFont.list()); //印出現在能用的系統的所有字型 } void draw(){ background(0); //黑色背景 textSize(50); //PFont font0 = createFont("Ariel",50); //不能寫在裡面,建幾萬次字型電腦會亂掉 textFont(font0); text("Hello",50,50); //PFont font = createFont("標楷體",50); //不能寫在裡面 textFont(font1); text("中文看到了",50,150); //PFont font2 = createFont("elffont-rock.otf",50); //不能寫在裡面 textFont(font2); //記得把字型,點兩下,安裝,再把檔案拉進來,才能順利createFont() text("ㄓㄨㄎㄉㄌ",50,250); }
音遊(撥放音樂)// week09_3_pressing__sound 聲音相關,使用音樂相關的Library函式庫 // Sketch-Library-Manager Libraries 找 sound 可找到 Sound 函式庫 (Processing 基金會做的),安裝! // File-Examples, 選 Libraries核心函式庫 剛剛裝的 Sound 的 SimplePlayback 或 JumbleSound //我們自己寫"最精簡的版本" import processing.sound.*; SoundFile sound; void setup(){ size(500,500); sound = new SoundFile(this, "In Game Music.mp3"); //sound.play(); //播放一次 sound.loop(); //一直迴圈播放 } void draw(){ }
音遊(音樂控制)
// week09_4_multiple_sound_files_keyPressed_stop_play import processing.sound.*; SoundFile sound1, sound2, hit; void setup(){ size(500, 500); sound1 = new SoundFile(this, "In Game Music.mp3"); sound2 = new SoundFile(this, "Intro Song_Final.mp3"); hit = new SoundFile(this, "sword slash.mp3"); sound2.play(); //開始時,先播放開場音樂 } void draw(){ background(255); } void mousePressed(){ hit.play(); //mouse按下時,揮劍的聲音 } void keyPressed(){ if(key=='1'){ sound2.stop(); sound1.play(); } else{ sound1.stop(); sound2.play(); } }
忍者切水果(重力加速度)// week09_5_keyboard_ninja01_background_image_appleX_appleY_appleVX_appleVY_g PImage board; //外面宣告變數 void setup(){ size(600,400); board = loadImage("board.png"); //裡面修改變數 } float appleX = 100, appleY = 500, appleVX = 5, appleVY = -30; void draw(){ background(board); //裡面使用變數 fill(255,0,0); ellipse(appleX, appleY, 80, 80); //紅色的蘋果 appleX += appleVX; //照著運動速度,X往右移 appleY += appleVY; //照著運動速度,Y也會移動 appleVY += 0.98; //0.98 gravity 重力加速度 (移動的速度,會受到"加速度"影響) if(appleX > 600){ appleX = 100; appleY = 500; appleVX = 5; appleVY = -30; } //當蘋果太右邊時,重設新的蘋果位置、速度 }
忍者切水果(隨機出)// week09_6_keyboard_ninja02_void_randomApple PImage board; //外面宣告變數 void setup(){ size(600,400); board = loadImage("board.png"); //裡面修改變數 } float appleX = 100, appleY = 500, appleVX = 5, appleVY = -30; void randomApple(){ appleX = random(100,500); appleY = 500; appleVX = random(-8,8); appleVY = random(-30,-20); } void draw(){ background(board); //裡面使用變數 fill(255,0,0); ellipse(appleX, appleY, 80, 80); //紅色的蘋果 appleX += appleVX; //照著運動速度,X往右移 appleY += appleVY; //照著運動速度,Y也會移動 appleVY += 0.98; //0.98 gravity 重力加速度 (移動的速度,會受到"加速度"影響) if(appleX > 600 || appleX < 0 || appleY > 550){ randomApple(); } //當蘋果出界時,重設新的蘋果位置、速度 }
忍者切水果(秀文字)// week09_7_keyboard_ninja03_void_keyPressed_appleKey PImage board; //外面宣告變數 void setup(){ size(600,400); board = loadImage("board.png"); //裡面修改變數 randomApple(); } float appleX = 100, appleY = 500, appleVX = 5, appleVY = -30; char appleKey; //蘋果上面,要秀的字母 void randomApple(){ appleX = random(100,500); appleY = 500; if(appleX<300) appleVX = random(0,8); else appleVX = random(-8,0); appleVY = random(-30,-25); appleKey = (char) ('a' + int(random(26))); } void draw(){ background(board); //裡面使用變數 fill(255,0,0); ellipse(appleX, appleY, 80, 80); //紅色的蘋果 fill(255,255,0); textSize(50); textAlign(CENTER,CENTER); text(appleKey, appleX, appleY); appleX += appleVX; //照著運動速度,X往右移 appleY += appleVY; //照著運動速度,Y也會移動 appleVY += 0.98; //0.98 gravity 重力加速度 (移動的速度,會受到"加速度"影響) if(appleX > 600 || appleX < 0 || appleY > 550){ randomApple(); } //當蘋果出界時,重設新的蘋果位置、速度 }
忍者切水果(秀文字+計算分數)// week09_7_keyboard_ninja04_void_keyPressed_appleKey PImage board; //外面宣告變數 void setup(){ size(600,400); board = loadImage("board.png"); //裡面修改變數 randomApple(); } float appleX = 100, appleY = 500, appleVX = 5, appleVY = -30; char appleKey; //蘋果上面,要秀的字母 void randomApple(){ appleX = random(100,500); appleY = 500; if(appleX<300) appleVX = random(0,8); else appleVX = random(-8,0); appleVY = random(-30,-25); appleKey = (char) ('a' + int(random(26))); } int score = 0; void keyPressed(){ if(key==appleKey){ score += 100; //答對加分 } else{ score -= 50; //答錯扣分 } } void draw(){ background(board); //裡面使用變數 text("Score:" + score,400,50); fill(255,0,0); ellipse(appleX, appleY, 80, 80); //紅色的蘋果 fill(255,255,0); textSize(50); textAlign(CENTER,CENTER); text(appleKey, appleX, appleY); appleX += appleVX; //照著運動速度,X往右移 appleY += appleVY; //照著運動速度,Y也會移動 appleVY += 0.98; //0.98 gravity 重力加速度 (移動的速度,會受到"加速度"影響) if(appleX > 600 || appleX < 0 || appleY > 550){ randomApple(); } //當蘋果出界時,重設新的蘋果位置、速度 }
忍者切水果(倒數計時)// week09_8_keyboard_ninja05_start_3_2_1_go PImage board; //外面宣告變數 void setup(){ size(600,400); board = loadImage("board.png"); //裡面修改變數 randomApple(); } float appleX = 100, appleY = 500, appleVX = 5, appleVY = -30; char appleKey; //蘋果上面,要秀的字母 void randomApple(){ appleX = random(100,500); appleY = 500; if(appleX<300) appleVX = random(0,8); else appleVX = random(-8,0); appleVY = random(-30,-25); appleKey = (char) ('a' + int(random(26))); } int score = 0; void keyPressed(){ if(state==0) state = 1; //按任意鍵,會開始3,2,1倒數 if(state==2){ if(key==appleKey){ score += 100; //答對加分 } else{ score -= 10; //答錯扣分 } } } int state = 0; //0:wait, 1:3、2、1、GO, 2:Game int countdown = 60*4; //倒數計時3秒+ GO 1秒 void draw(){ background(board); //裡面使用變數 textSize(50); textAlign(CENTER,CENTER); fill(255,255,0); if(state==0) text("Press Any Key to Start", 300,200); else if(state==1){ textSize(100); countdown--; if(countdown>60*3) text("3", 300,200); else if(countdown>60*2) text("2", 300,200); else if(countdown>60*1) text("1", 300,200); else if(countdown>0) text("GO", 300,200); else state = 2; //時間用完,就跳入新的畫面 } else{ text("Score:" + score,400,50); fill(255,0,0); ellipse(appleX, appleY, 80, 80); //紅色的蘋果 fill(255,255,0); textSize(50); textAlign(CENTER,CENTER); text(appleKey, appleX, appleY); appleX += appleVX; //照著運動速度,X往右移 appleY += appleVY; //照著運動速度,Y也會移動 appleVY += 0.98; //0.98 gravity 重力加速度 (移動的速度,會受到"加速度"影響) if(appleX > 600 || appleX < 0 || appleY > 550){ randomApple(); } //當蘋果出界時,重設新的蘋果位置、速度 } }
忍者切水果(音樂播放)
// week09_9_keyboard_ninja06_add_music import processing.sound.*; SoundFile sound1, sound2, sound3; PImage board; //外面宣告變數 void setup(){ size(600,400); board = loadImage("board.png"); //裡面修改變數 randomApple(); sound1 = new SoundFile(this, "Intro Song_Final.mp3"); sound2 = new SoundFile(this, "Gong.mp3"); sound3 = new SoundFile(this, "In Game Music.mp3"); background(board); //先畫背景,以免看起來像當機的灰色畫面 sound1.play(); } float appleX = 100, appleY = 500, appleVX = 5, appleVY = -30; char appleKey; //蘋果上面,要秀的字母 void randomApple(){ appleX = random(100,500); appleY = 500; if(appleX<300) appleVX = random(0,8); else appleVX = random(-8,0); appleVY = random(-30,-25); appleKey = (char) ('a' + int(random(26))); } int score = 0; void keyPressed(){ if(state==0){ state = 1; //按任意鍵,會開始3,2,1倒數 sound1.stop(); sound2.play(); //3 } if(state==2){ if(key==appleKey){ score += 100; //答對加分 } else{ score -= 10; //答錯扣分 } } } int state = 0; //0:wait, 1:3、2、1、GO, 2:Game int countdown = 60*4; //倒數計時3秒+ GO 1秒 void draw(){ background(board); //裡面使用變數 textSize(50); textAlign(CENTER,CENTER); fill(255,255,0); if(state==0) text("Press Any Key to Start", 300,200); else if(state==1){ textSize(100); countdown--; if(countdown%60 == 0){ sound2.stop(); //同一個音樂關掉 sound2.play(); //再播一次,會像心跳聲 } if(countdown>60*3) text("3", 300,200); else if(countdown>60*2) text("2", 300,200); else if(countdown>60*1) text("1", 300,200); else if(countdown>0) text("GO", 300,200); else { state = 2; //時間用完,就跳入新的畫面 sound2.stop(); sound1.loop(); } } else{ text("Score:" + score,400,50); fill(255,0,0); ellipse(appleX, appleY, 80, 80); //紅色的蘋果 fill(255,255,0); textSize(50); textAlign(CENTER,CENTER); text(appleKey, appleX, appleY); appleX += appleVX; //照著運動速度,X往右移 appleY += appleVY; //照著運動速度,Y也會移動 appleVY += 0.98; //0.98 gravity 重力加速度 (移動的速度,會受到"加速度"影響) if(appleX > 600 || appleX < 0 || appleY > 550){ randomApple(); } //當蘋果出界時,重設新的蘋果位置、速度 } }
沒有留言:
張貼留言