日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言实现动画控制

發布時間:2025/3/11 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言实现动画控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 原材料
  • 說明
  • 一場革命

原材料

下載原材料網址:

https://www.easyx.cn/downloads/

下載easyx2014冬至版,將lib文件放在編譯器默認的lib文件夾,h頭文件放在編譯器默認的include文件夾即可

說明

C語言可以用系統內部的定時函數sleep和usleep定時(需要windows.h頭文件),但是繪圖窗口是沒有的,這需要下載easyx頭文件和lib文件,現在給你的C編譯器來一場革命吧!
注:目前最新的easyx版本支持的編譯器版本有Visual C++6,2015和2017,最好使用第一個。

一場革命

如果說萬事俱備了,我們就可以開始了。easyx的壓縮包里面有一個幫助文檔很有用,但屬于字典式說明,不太好查閱,希望正在用easyx的同行們也多分享一些資源。在此提供一個沿著指定的半徑依次畫12個不同色彩的圓并依次擦除的小動畫程序,由于需要學習的地方很多,我把不太容易理解的地方都加了注釋,根據函數名非常容易理解,按照圖形畫法學習C語言語法,既生動又簡單,很快就可以跨越語法的障礙:

#include <graphics.h> // 引用圖形庫頭文件 #include <conio.h> #include <stdio.h> #include <windows.h> //用到了定時函數sleep() #include <math.h> #define PI 3.14159265 //畫圓必備 int a[]={0,0xAA0000,0x00AA00,0xAAAA00,0x0000AA,0xAA00AA,0x0055AA,0xAAAAAA,0x555555,0xFF5555,0x55FF55,0xFFFF55,0x5555FF,0xFF55FF,0x55FFFF,0xFFFFFF};//a[]是顏色數組 //a數組存放的顏色依次為 /* |0:黑色 |1:藍色 |2:綠色 |3:青色 |4:紅色|5:紫色 |6:棕色 |7:淺灰 |8:深灰 |9:亮藍|10:亮綠 |11:亮青 |12:亮紅 |13:亮紫 |14:黃色 |15:白色 */ int main() {system("color 0B"); //設置字體為亮藍色,純粹為了好看short x,y;//圓心坐標int R;//旋轉半徑int color[6]={1,2,3,4,5,6};//指定圓的顏色int i=0;char t;printf("C語言繪圖實驗:\n");printf("請選擇畫布大小(以空格分隔):\n");scanf("%d%d",&x,&y);initgraph(x,y,SHOWCONSOLE); // 創建繪圖窗口,大小為 640x480 像素printf("請輸入旋轉半徑: ");scanf("%d",&R);printf("請選擇6種圓的顏色:\n");printf("|0:黑色\n|1:藍色\t|2:綠色\t|3:青色\t|4:紅色\t|5:紫色\n|6:棕色\t|7:淺灰\t|8:深灰\t|9:亮藍\t|10:亮綠\n|11:亮青\t|12:亮紅\t|13:亮紫\t|14:黃色\t|15:白色\n"); scanf("%d%d%d%d%d%d",color,color+1,color+2,color+3,color+4,color+5);//錄入6種不同的顏色printf("\r按任意鍵繼續:\n");while(_getch()) //_getch()是按下任意鍵即返回非零值的函數,與getchar()不同,不經過標準輸入流的緩存區{for(i=0;i<12;i++){setlinecolor(RGB(0, 0, 0)); // 設置當前線條顏色setfillcolor(a[color[i%6]]); // 設置當前填充顏色fillcircle(x/2+R*cos(i*PI/6),y/2+R*sin(i*PI/6),R*(PI/12)*0.9); //繪制填充圓Sleep(300); //延時300ms}for(i=0;i<12;i++){setlinecolor(RGB(0, 0, 0)); // 設置當前線條顏色setfillcolor(a[0]); // 背景色(黑色)覆蓋掉原來的圖形fillcircle(x/2+R*cos(i*PI/6),y/2+R*sin(i*PI/6),R*(PI/12)*0.9); Sleep(300); //延時300ms}}return 0; }

由于這里面不方便傳視頻,我就只好傳一下代碼運行的截圖了,以下是程序運行主界面:

以下是繪圖界面:

希望本文對您有幫助,謝謝閱讀

總結

以上是生活随笔為你收集整理的C语言实现动画控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。