在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
CEGUI可以通过lua加载xml的窗口层.使用函数:loadWindowLayout, 这个函数的原型是这样的: Window* loadWindowLayout(const String& filename, const String& name_prefix = "", const String& resourceGroup = "", PropertyCallback* callback = 0, void* userdata = 0); 第一个参数是必须的,后面的都可以使用默认参数. WindowManager:getSingleton():loadWindowLayout("layout.xml"); 这个时候如果这个layout.xml这个文件不在当前目录下,那么,就在要程序中动态配置它的目录,所以我就加了一个资源管理的类,负责所有资源的目录管理,给一个资源的名称(项目要求资源名称全局唯一),然后给出这个资源的完整名称(含有路径的名称): std::string AssertProvider::GetFullname(const std::string &rscName); 这样写, 在C++项目中与lua中都可以使用,所以在lua中加载CEGUI的窗口层就要改成这样写了: WindowManager:getSingleton():loadWindowLayout( 但是在lua调用中(使用tolua++将C++转换成一个可在lua使用的类), 在这个lua调用, GetFullname()这个函数却返回了两个参数!!! 第一个是它的return值, 第二个参数是这个函数的参数! |
请发表评论