Kanzi学习之路(2):Hello world!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010977122/article/details/54618797

安装了kanzi之后,今天我们先来写一个简单的Hello World程序,了解kanzi开发的一个大体流程,从UI设计师用kanzi studio开发,到到处kzb资源文件,再

到软件工程师用vs开发。


首先我们打开kanzi studio,新建一个kanzi studio工程,如下:



这里我们project type选择第二个,因为我们待会要导出kzb文件到vs中使用,这个时候,kanzi studio会默认帮我们生成一个相应的vs工程,但会我们就可以直接打开使用。

这里选择新建的路径要注意,工程目录必须要在KanziWorkspace_3_2_2_309_83474/Engine 目录同级目录的子目录下,否则待会在vs里编译不通过(因为找不到库和头文件)。

第一个是创建一个纯kanzi studio工程,选择这个,kanzi不会帮我们生成一些编程工具可直接使用的工程配置文件;

第三个是创建一个带插件的kanzi studio工程,这个我也还不里了解,等到后面再看,再说。

下面时候材质的一些选项:

第一个是创建的工程不带材质,需要的时候再自己去添加;

第二个是自带一些系统预置的材质,而且光照计算渲染到每个顶点,中间的像素采用插值,效率高,一般使用都是够用的;

第三个也自带一些系统预置的材质,不过光照计算渲染到每个像素点,所以画面质量很高,但是效率不高。

这里选择第二个已经够用了,点击ok进入。


接下来我们就可以看到我们UI设计师使用的一个界面,如下图:


这个图是帮助文档里的,介绍了界面的基本模块,最左边的是一个工程结构和用到的一些资源库,中间是一个预览窗口,在kanzi studio里面,我们的操作都是所见即所得,任何操作在这里都可以马上看到,我们可以通过激活Edit,用鼠标来方便的操作界面的一个可视节点的一个位置等属性。下面是一个状态机的管理窗口和导入资源的预览窗口,最右侧是功能强大的属性窗口,通过该窗口我们就可以操作节点的属性来达到我们想要的效果或者一些想要的配置。还有一个标签是触发器(Triggers)窗口,通过窗口,我们就可以通过绑定,监测某些事件来响应我们的操作,从而做到可交互性。下面的小窗口是节点窗口,显示了我们app中的节点的层次与结构。最下面的是一个时间轴,用于控制动画等。


好了,今天我们就先简单了解操作界面,在界面上显示一个hello world的文本,在Scene下右击create一个3D的文本控件,然后去修改该控件的属性,如下图:



然后按下Ctrl+F8,我们就可以预览。最后我们在File—>Export KZB-->Export KZB binary ,将我们的资源文件导出。接下来,保存退出。然后我们打开创建的目录看一下工程的一个文件目录结构,如下:


在Application文件下,是和软件开发工程师相关的一些东西,其中bin目录下是导出的kzb文件和依赖的opengl的库文件,configs下是各个平台的编译的工程配置文件,最后src下是代码,这里默认会生成一份最简单的代码。

在Tool_project文件下,是kanzi studio的工程文件和导入的各种资源文件,如图片、字体、脚本等。


接下来我们用visual studio打开在win32目录下的工程(注意,visual studio只能使用2010或者2013,其他的版本不行,因为kanzi engin 中只有这两个版本的库,其他版本是连接不到的),打开之后,我们打开工程配置,配置如下:


然后软件工程师就开始对App的一些逻辑等进行管理,处理一些在kanzi studio下难以实现的功能。

今天我们只是简单了解这个流程,就不进行修改了。最后进行编译运行就ok~\(≧▽≦)/~啦啦啦!运行结果如下:



在这个过程中,UI设计师可能对于给出的kzb文件又要做出修改,比如将文本改成: broken egg!如下图:


然后UI设计师再次导出kzb文件给软件工程师替换掉原来的kzb文件,他们无需改代码,主要重新编译一下就可以,是不是很方便,如下图:



整个过程就是如此的相互的迭代~~~


今天就到这里了,讲的都是很浅显,不过我们程序猿学啥都喜欢先来个hello world嘛,继承传统啦啦。

有人可能会问,既然你是程序猿,你还学kanzi studio干嘛呀?下面我说一下个人的看法。一是学习kanzi studio一个目的是便于理解kanzi里的一些概念,通过kanzi studio对于很多概念有一个感性的认识,就像我当时学习Qt的时候,我先去学习的是QML,通过QML,对于QT的控件,动画,定时器等有个感性的认识,然后去学习QT C++感觉事半功倍呀。二是自己能够简单修改点东西,或者自己做点小东西。最后一个嘛,可以泡UI妹纸呀。因为我感觉kanzi studio和kanzi engine二者的学习是相互促进的,了解更多底层机制,有熟悉kanzi studio的使用,自然会有UI设计师去请教你了~\(≧▽≦)/~啦啦啦。不过我嘛,主要是第一个和第二个目的啦(说的好真呀~~)。


下一节的话,介绍一下kanzi的树形结构,属性系统和一些常见的控件。


猜你喜欢

转载自blog.csdn.net/u010977122/article/details/54618797