在語言學習層面,c語言不像html、js一樣,能立即展示視覺化效果。很多時候,介紹c語言的學習都是基於控制台的。甚至你可能在一學期之後,仍心存疑惑:c語言難道只能是這種「黑螢幕」視窗了麼?可是現在很多程式都是擁有漂亮的視窗介面呀。
為了使學習有趣些,更接近實際一些,所以我們引入了glimix_c「庫」。這個庫提供了建立視窗,載入等函式,允許我們在看得見的效果下學習。
glimix_c庫的所有功能都是以函式的形式提供,在此這些函式也稱之為介面,其原型宣告在glimix.h標頭檔案中。 根據《使用函式》一文所講,要使用乙個函式,就需要包含對應的標頭檔案。
#include
"glimix.h"
需要注意的是,我們使用的是雙引號包括標頭檔案,而非尖括號。一般而言,對於使用者自己建立的標頭檔案,使用雙引號,對於系統提供的標頭檔案,使用尖括號,更多的區別以後會學習到。
首先,讓我們嘗試建立乙個視窗出來,這是使用glmxinit函式來實現的。你可以開啟glimix.h,它的宣告如下:
glmxapi bool glmxinit( const
char *title, int width, int height );
不用去理會glmxapi的含義,剩下的就是整個函式的宣告了。這個函式需要傳遞三個引數,視窗標題,視窗的寬度與高度。標題是乙個字串引數,還記得吧,像printf輸出中的一樣,用雙引號把文字括起來就行。我們在main函式中呼叫它。
// 建立乙個640x480,標題為"hello, world!"的視窗
glmxinit( "hello, world!", 640, 480 );
這時如果你執行程式,有乙個視窗會一閃而過,然後整個程式就退出了。為了保證視窗響應並等到按下關閉按鈕後退出,我們需要呼叫glmxmainloop函式。
// 等待直接按下視窗的關閉按鈕
glmxmainloop();
單單有視窗,而沒有你的參與,就顯得無趣了。因為需要在介面上顯示一些東西,所以需要由你提供乙個draw()函式,顧名思義,這就是你自由畫畫的地方。暫停思考一下,為什麼需要由你提供draw()函式呢?想像一下這個畫畫的地方就是一張白紙,給不同的人就能畫出不同的畫。商店老闆不知道你會怎麼樣使用畫紙,這都是你自主行為了,所以由你提供。
在上節我們也提到,c語言要求乙個名稱被使用之前需要被看到,因此,我們把這個draw函式放在main函式的前面,同時我們還需要使用乙個比較複雜的函式glmxdrawfunc來讓庫使用draw函式。整個程式如下。
#include "glimix.h"
void draw()
int main()
現在,程式的主體框架算是完成了,執行起來你會看到乙個黑乎乎的視窗。說好的畫畫呢?這是由下面兩個函式提供。
glmxapi int glmxaddimage( const
char *file );
glmxapi void glmxdrawimage( int
id, int x, int y );
第乙個函式用於把乙個影象檔案新增到程式中, 它接受乙個檔案路徑作為引數。影象檔案可以看做是一種資源,因此只需要新增一次,如同變數的初始化一樣。函式執行成功時返回乙個大於等於0的值,代表影象的id,失敗則返回-1 。
第二個函式的作用就是繪製影象。第乙個id引數,就是glmxaddimage的返回值,這暗示我們需要把這個值用乙個變數儲存起來。x和y指明影象被繪製在作圖區域的左上角。
夠了,我想你跟我一樣,已經迫不急待的想要試一下了吧。
#include "glimix.h"
int pic1; // 儲存第一張影象的id
int pic2; // 儲存第二張影象的id
影象的id被儲存在pic1、pic2變數中,由於我們需要在draw函式中使用這兩個id值,因此把它們的定義放在draw的上面。
2:在draw函式中, 把pic1的繪製放到最後面看看會發生什麼。
利用FireBug使JQuery的學習更加輕鬆愉快
firebug是firefox下最強大的除錯外掛程式.利用它,可以讓jquery的學習過程更加輕鬆愉快.先決條件 安裝firefox firebug 這裡以我的部落格為例 基本的使用如下 ok,下面讓我們步入正題 就拿上面的為例,我們看到所有的標題都將class命名為 posttitle,下面我們利...
利用FireBug使JQuery的學習更加輕鬆愉快
firebug是firefox下最強大的除錯外掛程式.利用它,可以讓jquery的學習過程更加輕鬆愉快.先決條件 安裝firefox firebug 這裡以我的部落格為例 基本的使用如下 ok,下面讓我們步入正題 就拿上面的為例,我們看到所有的標題都將class命名為 posttitle,下面我們利...
利用FireBug使JQuery的學習更加輕鬆愉快
firebug是firefox下最強大的除錯外掛程式.利用它,可以讓jquery的學習過程更加輕鬆愉快.先決條件 安裝firefox firebug 這裡以我的部落格為例 基本的使用如下 ok,下面讓我們步入正題 就拿上面的為例,我們看到所有的標題都將class命名為 posttitle,下面我們利...