zoukankan      html  css  js  c++  java
  • 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会在创建窗口之前回调)。

    如下:

     1 /** 
     2  * A typical application configuration function. 
     3  */  
     4 KZ_CALLBACK void kzApplicationConfigure(const struct KzaSystemProperties* systemPropert
     5 ies, struct KzaApplicationProperties* configuration) 
     6 { 
     7     /* Memory reserved for the application. */  
     8     configuration->memoryPoolSize = 20 * 1024 * 1024;     //设置使用内存的大小,默认20Mb
     9     configuration->binaryName = "binaries.cfg";     //设置读取kzb的配置文件
    10   
    11     /* Platform specific configuration parameters. */  
    12 #if defined WIN32 || defined __linux__ 
    13     configuration->windowProperties.style = KZS_WINDOW_STYLE_DEFAULT; 
    14     configuration->windowProperties.width = 800; 
    15     configuration->windowProperties.height = 480; 
    16 #endif 
    17  
    18     /* List of available entry points implemented. Implementation is optional. */  
    19     /* Application lifetime. */ 
    20     configuration->onStartup = startup; 
    21     configuration->onProjectLoaded = projectLoaded; 
    22     configuration->onShutdown = shutdown; 
    23   
    24     /* Application events. */ 
    25     configuration->onApplicationEvent = applicationEventHandler; 
    26     configuration->onWindowEvent = windowEventHandler; 
    27   
    28     /* Input events. */ 
    29     configuration->onKeyInputEvent = keyInputEventHandler; 
    30     configuration->onPointerInputEvent = pointerInputEventHandler; 
    31      
    32     /* Render cycle. */ 
    33     configuration->onPreRender = preRender; 
    34     configuration->onPostRender = postRender; 
    35     configuration->onUpdate = update; 
    36 }

    kzApplicationConfigure函数中可做app的配置,设置内存池大小、窗口大小、窗口类型等,

    另外就是在里面注册回调函数,如

    configuration->onPostRender = postRender;
    为注册每一帧渲染后的回调函数。

    2.对于3.2版本则改成了c++的风格,如下:

     1 #include <kanzi/kanzi.hpp>
     2 
     3 class NApplicaiton : public ExampleApplication
     4 {
     5 protected:
     6     virtual void onConfigure(ApplicationProperties& configuration) KZ_OVERRIDE;
     7 
     8     virtual void onProjectLoaded() KZ_OVERRIDE;
     9 
    10     virtual void onShutdown() KZ_OVERRIDE;
    11 
    12     virtual void onKeyInputEvent(const KzsInputEventKey* inputData) KZ_OVERRIDE;
    13 
    14 private:
    15     NApplicaiton();
    16     ~NApplicaiton();
    17 
    18 };
    19 
    20 Application* createApplication()
    21 {
    22     return new NApplicaiton();
    23 }

     之前在2.8.x版本中的 注册回调函数的方式在3.2版本换成了 重写ExampleApplication的虚函数,其作用还是一样的。同样onProjectLoaded会在资源加载完成后背调用。




  • 相关阅读:
    判断是否可以点击
    窗口截图
    设置等待操作
    时间控件处理
    eclipse小技巧
    Angular 学习1
    MVC 中引用Angularjs
    Bootstrap 侧边栏 导航栏
    C# 直接使用sql语句对数据库操作 (cmd.ExecuteNonQuery)
    sql 常用的语句(sql 创建表结构 修改列 清空表)
  • 原文地址:https://www.cnblogs.com/littlemeng/p/kanzi.html
Copyright © 2011-2022 走看看