成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在CEGUI中使用Lua腳本入門學習

移動開發 iOS
如何在CEGUI中使用Lua腳本入門學習是本文要介紹的內容,主要是來學習lua腳本語言在CEGUI如何來使用,不多說,具體內容來看本文詳解。

如何在CEGUI中使用Lua腳本入門學習是本文要介紹的內容,主要是來學習lua腳本語言在CEGUI如何來使用,不多說,具體內容來看本文詳解。

CEGUI所使用的腳本是基于Lua5.0.2 和tolua++ 1.06pre2-1的.

界面的編寫很大一部分可以通過腳本來實現.我們可以修改腳本而不必重新編譯整個程序,

這就為我們省去了好多時間去設計界面.

目前的Lua腳本模塊仍然處于初期的開發階段。它支持絕大多數的內核系統、基層的窗口類,不過,對于某些特殊的控件目前只能通過屬性系統(properties system)來設置。

Ok,我們開始吧!你需要有一定的CEGUI基礎,比如初始化、創建窗口等,當然,還要有一定的Lua基礎。
初始化

Lua腳本模塊囊括了所有的管理類(manager classes),所以可以通過Lua腳本對CEGUI進行簡單的初始化.例如:

  1. #include "CEGUILua.h"  
  2. CEGUI::YourRendererOfChoice* renderer = new YourRendererOfChoice;     
  3. CEGUI::LuaScriptModule* script_module = new CEGUI::LuaScriptModule();     
  4.  
  5. // 第二個參數設置xml解析器,0代表默認解析器     
  6. new CEGUI::System( renderer, 0, script_module );   

現在CEGUI::System已經被創建,腳本模塊也被指定了。此時,LuaScriptModule的構造函數自動為我們創建了一個lua_State。你也可以傳遞一個lua_State*到LuaScriptModule的構造函數中來使用自己的lua_State。

如果你在初始化腳本中用到自定義函數,你就需要這么做。代碼如下:

  1. ...     
  2. lua_State* s = your_lua_state;     
  3. CEGUI::LuaScriptModule* script_module = new CEGUI::LuaScriptModule(s);     
  4. ...   

初始化/退出 腳本

CEGUI支持一個配置文件。它的文件名是CEGUI::System的構造函數的一個可選參數。默認為“cegui.config”。

通過設置此配置文件,你可以控制在系統創建和銷毀的時候是否執行一個腳本。配置文件的內容類似這樣:

  1. <?xml version="1.0" ?>     
  2. <CEGUIConfig     
  3.     InitScript="../datafiles/scripts/init_script.lua"     
  4.     TerminateScript="../datafiles/scripts/exit_script.lua"     
  5. />   

init_script.lua是在系統初始化時候將要被執行的Lua腳本文件。內容可以是這樣:

獲取CEGUI singletons  

  1. local logger = CEGUI.Logger:getSingleton()     
  2. logger:logEvent( ">>> Init script says hello" )     
  3. --logger:setLoggingLevel( CEGUI.Informative )    

為我們要使用的singletons創建相應的局部變量(非必須)  

  1. local system    = CEGUI.System:getSingleton()     
  2. local fontman   = CEGUI.FontManager:getSingleton()     
  3. local schememan = CEGUI.SchemeManager:getSingleton()    

載入schemes  

  1. schememan:loadScheme( "../datafiles/schemes/TaharezLook.scheme" )     
  2. schememan:loadScheme( "../datafiles/schemes/WindowsLook.scheme" )    

載入默認字體  

  1. local font = fontman:createFont( "../datafiles/fonts/Commonwealth-10.font" )    

設置默認鼠標光標  

  1. system:setDefaultMouseCursor( "TaharezLook","MouseArrow" )     
  2.      
  3. logger:logEvent( "<<< Init script says goodbye" )   

并不一定要同時提供初始化和退出腳本,但是,假如你在初始化腳本中申請了全局使用的存儲空間,那你就要在退出腳本中釋放它(或者在其它合適的地方)。

小結:如何在CEGUI中使用Lua腳本入門學習的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-23 09:56:52

UnicodeLua

2011-08-25 09:55:27

2022-11-23 08:14:42

bash 腳本test 命令

2022-04-01 15:39:13

機器學習讓孩子們軟件交付

2021-03-14 09:28:24

Linux Shell腳本

2022-12-22 20:47:01

腳本循環結構

2022-10-09 10:18:44

LinuxShell腳本

2023-04-04 07:52:26

RedisLua腳本

2021-01-13 09:40:26

Linuxexport命令

2022-03-30 09:32:32

BashtestLinux

2011-08-22 16:59:28

Lua

2011-08-24 10:32:03

LuaPlusC++Lua

2022-05-17 08:25:10

TypeScript接口前端

2022-06-23 08:00:53

PythonDateTime模塊

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka開源分布式

2015-08-27 09:46:09

swiftAFNetworkin

2011-08-10 09:31:41

Hibernateunion

2024-01-18 08:37:33

socketasyncio線程

2011-08-25 10:40:21

Lua游戲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 热99视频 | 91麻豆精品一区二区三区 | 一区二区精品 | 亚洲免费一区二区 | 中文字幕 在线观看 | 久久99精品国产99久久6男男 | 精品国产高清一区二区三区 | 久久久久久亚洲精品 | 综合久久99 | 国产欧美一区二区三区在线看 | 国产欧美日韩精品一区 | 国产成人亚洲精品 | 国产99久久久国产精品 | 国产欧美精品一区二区 | 日韩精彩视频 | 久在草| 欧美视频精品 | 亚洲精品一区二区三区在线 | 日本又色又爽又黄又高潮 | 美女一级毛片 | 亚洲伊人久久综合 | 国产精品99久久久精品免费观看 | 久久久成人一区二区免费影院 | 亚洲免费网站 | 欧美日韩黄色一级片 | 久久精品一区 | 亚洲成av人影片在线观看 | 久久久国产精品 | 亚洲网站在线播放 | 91精品久久久久久久 | 午夜精品一区二区三区在线视频 | 福利视频1000 | 欧美日韩在线观看一区二区三区 | 中文字幕av一区 | 国产激情一区二区三区 | 成人一区二区三区在线 | av永久| 欧美一级一 | 国产欧美日韩一区二区三区在线观看 | 欧美日韩在线视频一区 | 国产成人精品久久二区二区91 |