參數:
pctx:context指針;
flags:創建類型,包括SCREEN_APPLICATION_CONTEXT、SCREEN_WINDOW_MANAGER_CONTEXT、SCREEN_INPUT_PROVIDER_CONTEXT、SCREEN_POWER_MANAGER_CONTEXT;
返回值:0(窗口創建成功)、-1(窗口創建失敗);
需要調用黑莓平板電腦的API的話,還需要調用一個函數來初始化其接口:
#include <sys/platform.h>
#include "bps/event.h"
int bps_initialize(void);
事實上,黑莓沒有自己的圖形庫,在其上實現圖形化界面是使用OpenGL圖形庫,初始化EGL函數的函數爲:
#include< bbutil.h>
bbutil_init_egl();
返回值:存在返回值,EXIT_SECCUSS表示失敗。
每一個黑莓程序都需要完成如上的過程。寫這些像技術類的部分,並不是記錄我的技術,而是敘說我的第一個面向對象程序。我所使用的C語言是一個門面向過程的語言,黑莓開發是我第一次接觸面向對象,它給了我一個面向對象的概念。我也是第一次做圖形界面,並瞭解一個操作系統的消息獲取與處理的方式。
這便是我做第一個黑莓程序的過程,在我完成第一個黑莓程序後,就開始向做其他的圖形界面的程序了。
我的第一個黑莓程序是一個迷宮遊戲,這個遊戲我寫了挺久的,第一次做開發嘛。其程序構思如下:
用戶用手指在屏幕上滑動,可以將使小球跟着手指滑動,但小球只能在固定的範圍內滑動。
在第一張迷宮中,有一定數量的小洞,小球不能調入小洞中,否則遊戲重新開始。
在第二章迷宮中,小球不能出界,如果出界,重玩此關卡。而界線便是屏幕邊界。
聲明:1.除了系統函數中定義的座標外以及特別聲明外,自定義的座標原點位於左下角
一、迷宮圖片尺寸爲1024*600,將之分爲102*60個方格子,每個方格子大小爲10*10,每個方格子可以有兩種狀態,即小球可通過(OPEN)和小球不可通過)(CLOSE);特別聲明方格子左邊原點位於左上角
二、小球直徑設置爲30,小球每次的位移量爲重力感應所反饋的數據決定
三、最初步驟:第一步、載入開始界面的圖片,以及運行開始模塊render_begin(),其中也包含在這個界面上的事件處理模塊,用game_begin記錄遊戲的狀態,即爲是否開啓遊戲
第二步、當遊戲處於開啓狀態時,即game_begin值爲1時,運行遊戲模塊render以及該模塊的事件處理模塊handle_events()
第三步、在遊戲運行界面上,點擊“Exit”,退回開始界面,即game_begin = 0;
四、導入第二張圖片,但是用“小方格子”法遇到一個沒法解決的問題,所以用了另外一個方法記錄通道,用函數記錄邊軌跡的方法(以後成函數法)。
五、程序help:
點擊“開始遊戲“按鈕,開始遊戲。遊戲中,用手指點住小球移動,如果小球出來屏幕,則遊戲失敗,重來。遊戲中,可以點擊”退出“,回到開始界面。點擊”下一關“或者”上一關“通往上一關或者下一步關。
這就是我第一個自己構思,自己編寫的程序。黑莓開發,將我帶入了開發的世界,我現在雖然不做黑莓開發而做Linux上的開發,但是黑莓是我第一個做正式的開發平臺,永遠不會忘,說不定還會回頭弄黑莓呢。