Kanzi入门
1.安装Kanzi。
2.使用Kanzi studio创建工程。
Kanzi创建的工程会包含以下目录结构:
其中,
Tool_project文件夹中存放的是设计师设计的工程,包含kanzi UI的工程的所有文件。
Application文件夹则为代码的工程文件夹。该文件夹下的bin文件夹存放设计师导出的kzb文件,src文件夹存放编写的代码,config里面存放对应的vs、vc、eclipse工程文件。
UI设计师和软件工程师通过bin目录下的kzb资源文件联系起来。UI设计师通过kanzi studio设计工具导出kzb资源文件到该目录,而软件工程师使用engine读取该kzb文件创建界面,监听点击事件,传递数据,实现具体功能。
【设计师设计部分】可以通过以下视频教程进行学习。
http://v.ku6.com/show/eHuNhYr8nd4S7gY7jpwahg...html?st=3_1_2
http://v.17173.com/so-index.html?key=kanzi
http://v.youku.com/v_show/id_XNjU5MTI2ODE2.html?from=y1.7-1.2
【软件工程师编程部分】
1.对于2.8.x版本:
刚创建的Kanzi工程有两个函数,其中kzApplicationConfigure为整个程序的入口,相当于main函数(kanzi把main函数封装在库中了,只提供kzApplicationConfigure出来,kzApplicationConfigure会在创建窗口之前回调)。
如下:
/**
* A typical application configuration function.
*/
KZ_CALLBACK void kzApplicationConfigure(const struct KzaSystemProperties* systemPropert
ies, struct KzaApplicationProperties* configuration)
{
/* Memory reserved for the application. */
configuration->memoryPoolSize = * * ; //设置使用内存的大小,默认20Mb
configuration->binaryName = "binaries.cfg"; //设置读取kzb的配置文件 /* Platform specific configuration parameters. */
#if defined WIN32 || defined __linux__
configuration->windowProperties.style = KZS_WINDOW_STYLE_DEFAULT;
configuration->windowProperties.width = ;
configuration->windowProperties.height = ;
#endif /* List of available entry points implemented. Implementation is optional. */
/* Application lifetime. */
configuration->onStartup = startup;
configuration->onProjectLoaded = projectLoaded;
configuration->onShutdown = shutdown; /* Application events. */
configuration->onApplicationEvent = applicationEventHandler;
configuration->onWindowEvent = windowEventHandler; /* Input events. */
configuration->onKeyInputEvent = keyInputEventHandler;
configuration->onPointerInputEvent = pointerInputEventHandler; /* Render cycle. */
configuration->onPreRender = preRender;
configuration->onPostRender = postRender;
configuration->onUpdate = update;
}
kzApplicationConfigure函数中可做app的配置,设置内存池大小、窗口大小、窗口类型等,
另外就是在里面注册回调函数,如
configuration->onPostRender = postRender;
为注册每一帧渲染后的回调函数。
2.对于3.2版本则改成了c++的风格,如下:
#include <kanzi/kanzi.hpp> class NApplicaiton : public ExampleApplication
{
protected:
virtual void onConfigure(ApplicationProperties& configuration) KZ_OVERRIDE; virtual void onProjectLoaded() KZ_OVERRIDE; virtual void onShutdown() KZ_OVERRIDE; virtual void onKeyInputEvent(const KzsInputEventKey* inputData) KZ_OVERRIDE; private:
NApplicaiton();
~NApplicaiton(); }; Application* createApplication()
{
return new NApplicaiton();
}
之前在2.8.x版本中的 注册回调函数的方式在3.2版本换成了 重写ExampleApplication的虚函数,其作用还是一样的。同样onProjectLoaded会在资源加载完成后背调用。
Kanzi入门的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
随机推荐
- Windows7如何安装Sqlite3
Sqlite官网地址:http://www.sqlite.org/ Sqlite3文件下载: 1.下载 sqlite-dll-win32-x86-3140100 2.下载 sqlite-tools-w ...
- Tomcat热部署方法(3种)【转】
热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效.但是对配置文件的修改除外! 1.直接把项目web文件夹放在webapps里. 2.在tomcat ...
- ios 修改webView字体
UIFont *font = [UIFont systemFontOfSize:]; //方法一 NSString *fontColor =@"CCCCFF"; NSString ...
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...
- Bugzilla说明
简介 Bugzilla是Mozilla公司向我们提供的一个开源的免费缺陷跟踪工具.作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,包括报告Bug.查询Bug记录并产生报表.处 ...
- ftp列表错误或长城宽带连不上ftp的解决方法
有些是长城宽带,我 帮忙测试,在客户PC机上测试,PING 任何网站 不通:tracert 超时:FTP 超时,不出现用户名提示.但访问网站正常,检测后进入到路由器,禁用DHCP服务 ,问题解决. 或 ...
- zabbix监控交换机
zabbix可以通过snmp协议监控交换机 前提: 交换机需要开启snmp协议,通过snmpwalk 可以抓取到数据就可以了 snmpwalk -v 2c -c public *.*.*.* 1.创建 ...
- MVC控制器获取@Html.DropDownList值
MVC控制器获取@Html.DropDownList值 发表于 2014 年 4 月 1 日 作者 efour — 暂无评论 先贴一段代码,演示@Html.DropDownList的使用. 前台 前台 ...
- IIS配置注意点
1.是否有权限 2.程序池是否为4.0集成 3.是否启用目录浏览模式:目录浏览==>启用(好像可以不用) 4.是否设置默认页面 5.其他的,百度. asp.net发布到IIS中出现错误:处理程序 ...
- Fiddler 前端工具
官网地址:http://www.telerik.com/fiddler 支持所有平台,但由于早期是基于.net开发的,对window操作系统支持较好,对mac,linux支持不够好.