顯示具有 Week08 標籤的文章。 顯示所有文章
顯示具有 Week08 標籤的文章。 顯示所有文章

2017年5月30日 星期二

Week 08 一權的上課筆記

(1)組合出機器人
(2)做出可轉動的關節
(3)錄製動作
(4)回家作業:機器人

課堂:

1.使用3D Exploration
(1)下載3D Exploration (p.s 不要在家下載,第二次使用要收費)















(2)下載小葉老師的檔案(jsyeh.org/3dvg10)--->data.zip中有3D模型















(3)用3D Exploration開啟















(4)File-->Save as -->選取Open GL code(*.cpp)














(5)打開codeblocks-->OpenGLUT-->Remove main file-->讀入剛剛存取得cpp檔案












(6)執行














2017年5月1日 星期一

Week 08 HMTse的上課筆記

用codeblocks 開檔






把這兩行註解掉

///        (LPLOGPALETTE) lpPalette = (LPLOGPALETTE)HeapAlloc (hHeap, 0,
///       sizeof (LOGPALETTE) + (nColors * sizeof (PALETTEENTRY)));




2017年4月24日 星期一

Week08陳冠霖的上課筆記

本周課程:
先Google: NeHe Lesson32,到網站內最下面,下載Visual C++的範例。
解壓縮到桌面,點開資料夾,點擊lesson32.exe。
玩遊戲,要有聲音,Esc退出。
新增GLUT project。
在GLUT project增加程式碼,讓project檔能用滑鼠發出聲音,以下三步驟:
第一步:加入#include <mmsystem.h>標頭,用來乎交多媒體檔案。
第二部:增加滑鼠函式mouse, void mouse(int button, int state, int x,int y)//括號內(滑鼠是按鈕,x、y代表位置)
{
    PlaySound("C:\\Users\\user\\Desktop\\Lesson32\\Data/shot.wav",NULL,SND_ASYNC);
} ///函式裡 PlaySound播放聲音,在""之間C:\\Users\\user\\Desktop\\Lesson32\\Data/shot.wav是資料來源,NULL代表沒有在目錄底下,SND_ASYNC代表非同步,圖案再轉音樂在播。///附註:要把檔案裡面的目錄裡面的斜線,從 \ 變成 \\ 或著變成 / 。
第三部: glutMouseFunc(mouse);///用來呼叫滑鼠函式mouse。 
在GLUT project增加程式碼,讓project檔能用鍵盤發出聲音,不同按鍵發出不一樣的聲音,所以設定五個按鍵發出Do Re Mi Fa So,以下兩步驟:
第一部:增加鍵盤函式keyboard, void keyboard(unsigned char key,int x, int y)///括號內(鍵盤中的哪個鍵,x、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("So.wav",NULL,SND_ASYNC);
}///if(key=='?'), if用來判斷鍵盤括號裡key是否正確,正卻發出聲音,錯誤則沒聲音, PlaySound播放聲音,在""之間是資料來源或資料名子,NULL代表沒有在目錄底下,SND_ASYNC代表非同步///附註:要把檔案裡面的目錄裡面的斜線,從 \ 變成 \\ 或著變成 / 。
第二部: glutKeyboardFunc(keyboard);///用來呼叫鍵盤函式keyboard。
 將聲音的檔案放到freegult檔案中的bin資料夾裡,因為GLUT project裡面一定會載入freegult檔案。
在GLUT project增加程式碼,讓project檔能發出MP3, 以下四步驟。
第一部;加入#include "CMP3_MCI.h"標頭。///""代表放在同一個程式碼的目錄中,是自己設定系統沒有,<>代表系統原來就有設定。
第二部:CMP3_MCI mymp3;///宣告一個變數,叫mymp3。
第三部: mymp3.Load("C:\\Users\\user\\Desktop/aii.mp3");///載入mp3檔案,在"C:\\Users\\user\\Desktop/aii.mp3"之間是資料來源。///附註:要把檔案裡面的目錄裡面的斜線,從 \ 變成 \\ 或著變成 / 。
第四部:mymp3.Play();///播放mp3。

Week08 20170424 芷萱的課堂筆記

作業一:

  • 玩射擊遊戲

        Google : NeHe Lesson 32












  • 開始試玩遊戲
      ※確定射擊時有聲音

      作業二:















開啟CodeBlocks/New/Project..

   利用GLUT專案
  • 增加部分程式 讓視窗能出射擊聲
     #include <mmsystem.h>  ///多媒體系統     void mouse(int button,int state,int x,int y)    {         PlaySound("C:/Users/user/Desktop/Lesson32/data/shot.wav",NULL,SND_ASYNC);    }     int main(int argc, char *argv[])    {        glutMouseFunc(mouse);  ///Add a mouse Function    }
  • 增加void keyboard{} 利用鍵盤發出鋼琴聲wav檔
      將音樂檔放入freeglut/bin資料夾中
     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("so.wav",NULL,SND_ASYNC);     } 
     
  • 增加部分程式碼 讓視窗可以跑出mp3檔
     #include "CMP3_MCI.h" ///(1)放在同一個程式碼專案的目錄中
     CMP3_MCI myMP3;///(2)宣告一個變數,叫myMP3      int main(int argc, char *argv[])     {///(3)        myMP3.Load("C:/Users/user/Desktop/04160391_hw1/yukai.mp3");        myMP3.Play(); ///(4)play the file     }




 

Week08 林憶蓮的上課筆記


1.玩遊戲 射擊(確認有聲音)
Google: NehHe Lesson 32
下載 Lesson 32最下面
Visual C++ 的範例
解壓縮桌面 \Lesson32\lesson32.exe應用程式
  Esc 退出遊戲 



2.在Lesson32.cpp中 用PlaySound(...)
模仿:File-New-Projects. GLUT
-----------------------------------------------------------------------------------------------------------------------
加程式碼(製造點擊有聲音)
以下為片段

static void idle(void)
{
    glutPostRedisplay();
}

const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

const GLfloat mat_ambient[]    = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[]    = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[]   = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };

#include <mmsystem.h>
void mouse(int button,int state,int x,int y)
{
    PlaySound("C:\\Users\\user\\Desktop\\Lesson32\\data/shot.wav",NULL,SND_ASYNC);
    ///要把檔名裡面的目錄裡面的斜線,從\變成(A)\\ or (B) /
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitWindowSize(640,480);
    glutInitWindowPosition(10,10);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("GLUT Shapes");

    glutReshapeFunc(resize);
    glutDisplayFunc(display);
    glutKeyboardFunc(key);
    glutIdleFunc(idle);
    glutMouseFunc(mouse);   //Add a mouse Function

    glClearColor(1,1,1,1);
    glEnable(GL_CULL_FACE);
    glCullFace(GL_BACK);

    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    glEnable(GL_LIGHT0);
    glEnable(GL_NORMALIZE);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);

    glLightfv(GL_LIGHT0, GL_AMBIENT,  light_ambient);
    glLightfv(GL_LIGHT0, GL_DIFFUSE,  light_diffuse);
    glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);

    glMaterialfv(GL_FRONT, GL_AMBIENT,   mat_ambient);
    glMaterialfv(GL_FRONT, GL_DIFFUSE,   mat_diffuse);
    glMaterialfv(GL_FRONT, GL_SPECULAR,  mat_specular);
    glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);

    glutMainLoop();

    return EXIT_SUCCESS;
}
-----------------------------------------------------------------------------------------------------------------------



老師截圖參考

HW1:












HW2:





















HW3: