参数:
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上的开发,但是黑莓是我第一个做正式的开发平台,永远不会忘,说不定还会回头弄黑莓呢。