在CEGUI中使用layout文件(1)

    技术2022-05-11  56

    在CEGUI中使用layout文件(1) CEGUI支持两种方式的资源使用,一种就是在前文可见的直接在c++文件当中创建窗体,使用窗体;另一种方式就是在layout文件当中定制窗体。从理论上讲,两种方式都能达到相同的目的。 在不使用layout文件时,CEGUI是不太方便的,因为要定位控件,常常得修改文件当中的参数,如果在c++文件当中修改,每次都编译,很恶心(尤其是在有编辑器的情况下,使用c++就不能使用了)。 所以如果你要使用CEGUI,对layout文件的使用和编辑都是必修课。 下面这个就是一个简单的使用layout文件的例子,作的仅仅是把文件读进来、显示在窗口里了。     #include  " TDemo1.h " #include  " CEGUI.h " #include  " CEGuiBaseApplication.h " #include  < cstdlib > int  main( int  argc,  char   * argv[]) {    TDemo1 app;    return app.run();} /**************************************************************************************************************************************************/ bool  TDemo1::initialiseSample() {    using namespace CEGUI;    // 窗体管理器    WindowManager& winMgr = WindowManager::getSingleton();    // 载入资源    SchemeManager::getSingleton().loadScheme("TaharezLook.scheme");    System::getSingleton().setDefaultMouseCursor("TaharezLook""MouseArrow");    FontManager::getSingleton().createFont("Commonwealth-10.font");    // 在此载入layout文件    // 这个就是要在实际当中经常使用的    Window* sheet = winMgr.loadWindowLayout("TDemo1.layout");    System::getSingleton().setGUISheet(sheet);    return true;} /**************************************************************************************************************************************************/ void  TDemo1::cleanupSample() {    // 啥也不做}

     

    TDemo1.layout

     

    <? xml version="1.0" encoding="UTF-8" ?> < GUILayout >      < Window  Type ="DefaultWindow"  Name ="root" >          < Property  Name ="UnifiedMaxSize"  Value ="{{1,0},{1,0}}"   />          < Property  Name ="UnifiedAreaRect"  Value ="{{0,0},{0,0},{1,0},{1,0}}"   />                  < Window  Type ="TaharezLook/FrameWindow"  Name ="TDemo1/Window1"   >              < Property  Name ="Text"  Value ="TDemo 1"   />              < Property  Name ="UnifiedMaxSize"  Value ="{{0.8,0},{0.8,0}}"   />              < Property  Name ="UnifiedMinSize"  Value ="{{0.2,0},{0.2,0}}"   />              < Property  Name ="UnifiedAreaRect"  Value ="{{0.4,0},{0.1,0},{0.9,0},{0.7,0}}"   />              < Property  Name ="CloseButtonEnabled"  Value ="False"   />                    </ Window >      </ Window > </ GUILayout >

    最新回复(0)