KANZI入門第一篇之kanzi詳解,教你輕鬆學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會在資源加載完成後背調用。

 

如您需要更多的信息,歡迎一起諮詢,一起學習

溫馨提示:微信掃碼關注我們:跟着數理化走天下

獲得更多的信息哦,一起交流,一起成長哦:微信號:跟着數理化走天下,純屬個人的交流,無盈利目的

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章