第一步,下载SDLGUI源码,请到https://tieba.baidu.com/sdlgui下载
第二步:解压下载好的源码压缩包到指定的路径,并跟椐实际情况重命名
第三步:这时我们的SDLGUI库就设置完成了,接下来我们开始使用SDLGUI写程序,先在SDLGUI库的同级目录创建的一个源码文件,文件名自己定义。
第四步:打开源文件并输入源码,这里先导入SDL2库,再定义好ANDROID平台
源码第二行的宏定义是大写字母,前面和后面是两条下划线,中间的是一条下划线。
第五步:导入SDLGUI库,根据你重命名的文件夹写好导入库的路径,本教程的源码因为与库是同一级的,所以使用的是当前目录中sdlgui子目录下的sdlgui.h库文件。然后定义好命名空间。
第六步:输入SLD2的入口函数,入口函数的格式是固定的,一定要注意。
第七步:先创建的个SDLGUI的顶级窗口
第八步,创建出顶级窗口后,就可以让程序运行了,sdl_frame::run()是一个全局静态方法,使用时要注意格式。
以下显示了现阶段完整的代码,输入正确后就可以编译运行了。
运行后大家会发现只是一个黑屏,这表示你正常运行了,因为到现在我们只创建了一个顶级窗口,其它事都没有做。如果使用手机运行可能会打开就闪退,这是SDLGUI的一个BUG,以后会解决,反复打开3到4次就可以正常了。。
第九步:现在我们可以给顶级窗口加入一些小控件了,比如加入一个按钮。
按钮是一个子窗口。它必须加入到一个已经存在了的窗口中,在本次教程中,这个按钮是顶级窗口的子级窗口,所以要用顶级窗口对象f的add方法来添加按钮。
所有窗口对象的add方法参数都是统一的。
f表示父级窗口对象
add<sdl_button>表示加入一个按钮子级窗口
"button"是按钮中的文本
0,0,100,100,是按钮在父级窗口中的位置与尺寸
1是为了与顶级窗口的参数统一,现在没有意义,但必须传一个值。
下面我们就可以编译运行,看看程序效果,大家会发现顶级窗口中多了一个蓝色的正方形,上面写着button
这就是我们创建的按钮,但大家用鼠标点击或者手指触摸时发现没有反映,这是正常的,因为我们没有打开SDLGUI的委托事件处理线程。
第十步:为SDLGUI开启委托事件处理,请注意这个函数也是一个全局静态方法。
再编译运行时,就可以看到按钮可以响应我们的动作了。
第十一步:使用SDLGUI的事件委托功能,为此我们再创建一个同样的按钮,只是X坐标为100
创建好后我们编译运行一下,会发现这两个按钮响应各自的事件,互不影响。
在这个源码中我想点击第二个按钮时,第一个按钮同样响应事件,这就要用到委托事件了
编译后大家就会发现第一个按钮会随着第二个按钮而改变,但第二个按钮不会随着第一个按钮改变。
以下是本次教程的完整代码,输入正确后就可以运行了
图片来自:twtfcu3的百度相册
图片来自:twtfcu3的百度相册
第二步:解压下载好的源码压缩包到指定的路径,并跟椐实际情况重命名
图片来自:twtfcu3的百度相册
第三步:这时我们的SDLGUI库就设置完成了,接下来我们开始使用SDLGUI写程序,先在SDLGUI库的同级目录创建的一个源码文件,文件名自己定义。
图片来自:twtfcu3的百度相册
第四步:打开源文件并输入源码,这里先导入SDL2库,再定义好ANDROID平台
源码第二行的宏定义是大写字母,前面和后面是两条下划线,中间的是一条下划线。
图片来自:twtfcu3的百度相册
第五步:导入SDLGUI库,根据你重命名的文件夹写好导入库的路径,本教程的源码因为与库是同一级的,所以使用的是当前目录中sdlgui子目录下的sdlgui.h库文件。然后定义好命名空间。
图片来自:twtfcu3的百度相册
第六步:输入SLD2的入口函数,入口函数的格式是固定的,一定要注意。
第七步:先创建的个SDLGUI的顶级窗口
图片来自:twtfcu3的百度相册
第八步,创建出顶级窗口后,就可以让程序运行了,sdl_frame::run()是一个全局静态方法,使用时要注意格式。
图片来自:twtfcu3的百度相册
以下显示了现阶段完整的代码,输入正确后就可以编译运行了。
图片来自:twtfcu3的百度相册
运行后大家会发现只是一个黑屏,这表示你正常运行了,因为到现在我们只创建了一个顶级窗口,其它事都没有做。如果使用手机运行可能会打开就闪退,这是SDLGUI的一个BUG,以后会解决,反复打开3到4次就可以正常了。。
第九步:现在我们可以给顶级窗口加入一些小控件了,比如加入一个按钮。
按钮是一个子窗口。它必须加入到一个已经存在了的窗口中,在本次教程中,这个按钮是顶级窗口的子级窗口,所以要用顶级窗口对象f的add方法来添加按钮。
所有窗口对象的add方法参数都是统一的。
f表示父级窗口对象
add<sdl_button>表示加入一个按钮子级窗口
"button"是按钮中的文本
0,0,100,100,是按钮在父级窗口中的位置与尺寸
1是为了与顶级窗口的参数统一,现在没有意义,但必须传一个值。
图片来自:twtfcu3的百度相册
下面我们就可以编译运行,看看程序效果,大家会发现顶级窗口中多了一个蓝色的正方形,上面写着button
这就是我们创建的按钮,但大家用鼠标点击或者手指触摸时发现没有反映,这是正常的,因为我们没有打开SDLGUI的委托事件处理线程。
图片来自:twtfcu3的百度相册
第十步:为SDLGUI开启委托事件处理,请注意这个函数也是一个全局静态方法。
图片来自:twtfcu3的百度相册
再编译运行时,就可以看到按钮可以响应我们的动作了。
图片来自:twtfcu3的百度相册
第十一步:使用SDLGUI的事件委托功能,为此我们再创建一个同样的按钮,只是X坐标为100
图片来自:twtfcu3的百度相册
创建好后我们编译运行一下,会发现这两个按钮响应各自的事件,互不影响。
在这个源码中我想点击第二个按钮时,第一个按钮同样响应事件,这就要用到委托事件了
图片来自:twtfcu3的百度相册
编译后大家就会发现第一个按钮会随着第二个按钮而改变,但第二个按钮不会随着第一个按钮改变。
以下是本次教程的完整代码,输入正确后就可以运行了
图片来自:twtfcu3的百度相册