2017年4月24日 星期一

Week 10 湘雯的筆記

1.玩遊戲

Google搜尋"NeHe Lesson32"進入這裡


下載"Visual C++"

放桌面解壓縮 試著執行遊戲

2.嘗試將聲音寫進程式

到Lesson 32的資料夾檢視程式碼

在第300行找到播放聲音的程式碼
PlaySound("data/shot.wav",NULL,SND_ASYNC);

開啟CodeBlocks建立GLUT專案

在137行加入多媒體系統函式 否則接下來程式會無法執行 程式碼如下
#include<mmsystem.h>

新增一個mouse函式 程式碼如下
void mouse(int button,int state,int x,int y)
{
    PlaySound("data/shot.wav",NULL,SND_ASYNC);
}

但必須改變資料夾的位置 否則程式碼讀不出來
至Lesson 32的Data資料夾複製位置

改到程式碼中 如下
void mouse(int button,int state,int x,int y)
{
    PlaySound("C:\\Users\\user\\Desktop\\Lesson32\\Data/shot.wav",NULL,SND_ASYNC);
    ///要把檔名裡面目錄的斜線 從 \ 變成 \\ 或 /
}

記得將mouse函式加到int函式內 程式碼如下3.
glutMouseFunc(mouse);

執行 並點擊滑鼠左鍵檢查是否會發出槍聲

3.小鋼琴(把DO RE MI ... 的音加入程式中)

上網下載WAV檔


把檔案放在freeglut的bin資料夾中 位置如下
C:\Users\user\Desktop\freeglut\bin


新增keyboard函式 程式碼如下
void keyboard(unsigned char key,int x,int y)
{
    if(key=='1')PlaySound("DO.wav",NULL,SND_ASYNC);
    if(key=='2')PlaySound("RE.wav",NULL,SND_ASYNC);
    if(key=='3')PlaySound("MI.wav",NULL,SND_ASYNC);
    if(key=='4')PlaySound("FA.wav",NULL,SND_ASYNC);
    if(key=='5')PlaySound("SOL.wav",NULL,SND_ASYNC);
}

記得把keyboard函式加入int函式中 程式碼如下
glutKeyboardFunc(keyboard);

執行檢查是否會發出音階

4.將MP3檔加入程式  使其可在背景播放

把CMP3_MCI放在04162443_hw1的資料夾中

加入#include 如下
#include<CMP3_MCI.h>///放在同一個程式碼專案的目錄中

記得宣告CMP3的變數 如下
#include"CMP3_MCI.h"///放在同一個程式碼專案的目錄中
CMP3_MCI myMP3;

加入main函式中 叫出MP3檔 程式碼如下
///Load MP3 File
    myMP3.Load("C:\\Users\\user\\Desktop\\2017\\yukai.mp3");
    myMP3.Play(); ///Play the File

執行檢查是否會有背景音樂

沒有留言:

張貼留言