2022年5月23日 星期一

week14程式動起來(簡單動畫)🎥

 1-1.練習寫檔
///week14-1.cpp step01-1
///練習開檔關檔

#include<stdio.h>
int main()
{
    FILE *fout = fopen ("file.txt","w+");///write+順便新增
    printf("hello world\n");
    fprintf(fout,"hello world\n");

    fclose(fout);
}
1-2練習之二
#include<stdio.h>
int main()
{
    FILE *fout = fopen ("file2.txt","w+");
    fprintf(fout,"angle %d\n",999);
    fclose(fout);

    char line[200];
    int a;
    FILE *fin =fopen("file2.txt","r");
    fscanf(fin,"%s %d",line,&a);
    printf("讀到了字串:%s 及整數%d\n",line,a);
    fclose(fin);
}

1-3把上周寫的程式拿來繼續寫
用上禮拜的程式
加上以下程式碼
FILE *fout=NULL;
void myWrite()
{
    if(fout==NULL)
        fout=fopen("file.txt","w+");
    for(int i=0;i<20;i++)
    {
        fprintf(fout,"%.2f",angle[i]);
    }
}

 myWrite();

印到小黑

檔案在
1-4
讓程式讀檔動起來






2-1修正專案目錄
去打開專案資料夾的.cbp(用文字編輯器or nopad++)


改workin dir=""的東西
將freeglut\bin\裡的 freeglut.dll複製到專案資料夾
再次開啟程式就會發現
file.txt存資料的檔案被放進來了



3-1時間軸
會發更新率不一樣
1.設定timer: glutTimerFunc函式(timer ,時間)
#include<GL/glut.h>
#include<stdio.h>
void timer(int t)
{
    ///1000代表一秒
    printf("鬧鐘%d,我起床了\n",t);
    printf("設定下一個鬧鐘\n");
    glutTimerFunc(1000,timer,t+1);
    printf("設定好鬧鐘,在回去睡\n");
}
void display()
{

}
int main (int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week14_timer");
    glutTimerFunc(3000,timer,0);///
    glutDisplayFunc(display);

    glutMainLoop();
    return 0;
}


4-1
加入聲音
素材放在freeglut/bin裡
#include<mmsystem.h>
PlaySound("chicken.wav",NULL,SND_ASYNC);







沒有留言:

張貼留言