您的位置:首页 > 其它

如何在ogre游戏界面添加自己的信息,比如显示某变量的值

2008-09-21 15:28 519 查看
 
// 首先在E:/ogre/media/packs的OgreCore.zip里面打开OgreDebugPanel.overlay,然后修改如下:
Core/DebugOverlay
{
zorder 500
// Stats block
container BorderPanel(Core/StatPanel)
{
   metrics_mode pixels
   vert_align bottom
   left 5
   top -107
   width 220
   height 102
   material Core/StatsBlockCenter
        border_size 1 1 1 1
        border_material Core/StatsBlockBorder
        border_topleft_uv     0.0000 1.0000 0.0039 0.9961
     border_top_uv         0.0039 1.0000 0.9961 0.9961
     border_topright_uv    0.9961 1.0000 1.0000 0.9961
     border_left_uv        0.0000 0.9961 0.0039 0.0039
     border_right_uv       0.9961 0.9961 1.0000 0.0039
     border_bottomleft_uv 0.0000 0.0039 0.0039 0.0000
        border_bottom_uv      0.0039 0.0039 0.9961 0.0000
     border_bottomright_uv 0.9961 0.0039 1.0000 0.0000

   container Panel(Core/BreakPanel)
   {
    metrics_mode pixels
    left 5
    top 22
    width 210
    height 1
    material Core/StatsBreak
   }
     
   element TextArea(Core/CurrFps)
   {
    metrics_mode pixels
    left 5
    top 5
    width 90
    height 30
    font_name BlueHighway
    char_height 19
    caption Current FPS:
    colour_top 1 1 0.7
    colour_bottom 1 1 0.7
   }
   element TextArea(Core/AverageFps)
   {
    metrics_mode pixels
    left 5
    top 25
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption AVERAGE FPS:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
   element TextArea(Core/WorstFps)
   {
    metrics_mode pixels
    left 5
    top 40
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption WORST FPS:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
   element TextArea(Core/BestFps)
   {
    metrics_mode pixels
    left 5
    top 55
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption BEST FPS:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
   element TextArea(Core/NumTris)
   {
    metrics_mode pixels
    left 5
    top 70
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption Triangle Count:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
   element TextArea(Core/NumBatches)
   {
    metrics_mode pixels
    left 5
    top 85
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption Batch Count:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
   element TextArea(Core/DebugText)
   {
    metrics_mode pixels
    left 230
    top 70
    width 200
    height 30
    font_name BlueHighway
    char_height 16
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
    
}
container Panel(Core/LogoPanel)
{
   metrics_mode pixels
   horz_align right
   vert_align bottom
   top -75
   left -165
   width 150
   height 75
   material Core/OgreText
}
container BorderPanel(Core/yy)
{
   metrics_mode pixels
   vert_align bottom
   left 230
   top -107
   width 220
   height 102
   material Core/StatsBlockCenter
        border_size 1 1 1 1
        border_material Core/StatsBlockBorder
        border_topleft_uv     0.0000 1.0000 0.0039 0.9961
     border_top_uv         0.0039 1.0000 0.9961 0.9961
     border_topright_uv    0.9961 1.0000 1.0000 0.9961
     border_left_uv        0.0000 0.9961 0.0039 0.0039
     border_right_uv       0.9961 0.9961 1.0000 0.0039
     border_bottomleft_uv 0.0000 0.0039 0.0039 0.0000
        border_bottom_uv      0.0039 0.0039 0.9961 0.0000
     border_bottomright_uv 0.9961 0.0039 1.0000 0.0000

   element TextArea(Core/myinfo1)
   {
    metrics_mode pixels
    left 5
    top 5
    width 90
    height 30
    font_name BlueHighway
    char_height 19
    caption myinfo1:
    colour_top 1 1 0.7
    colour_bottom 1 1 0.7
   }
   element TextArea(Core/myinfo2)
   {
    metrics_mode pixels
    left 5
    top 25
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption myinfo2:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
   element TextArea(Core/myinfo3)
   {
    metrics_mode pixels
    left 5
    top 40
    width 90
    height 30
    font_name BlueHighway
    char_height 16
    caption myinfo3:
    colour_top 0.5 0.7 0.5
    colour_bottom 0.3 0.5 0.3
   }
}
}

// A silly example of how you would do a 3D cockpit
//Examples/KnotCockpit
//{
// zorder 100
// entity knot.mesh(hudKnot)
// {
//   position 0 0 -50
//   rotation 0 0 0 0
// }
//
//}

//注意 container BorderPanel(Core/yy) 这部分,是新添加的内容

//同时确保在main.cpp里面的bool frameStarted(const FrameEvent &evt)函数包含如下内容:

        static String mytxt = "mDistance: ";

        OverlayElement* guiinfo = OverlayManager::getSingleton().getOverlayElement("Core/myinfo1");

        guiinfo->setCaption(mytxt + StringConverter::toString(mDistance));

        static String mytxt2 = "mDestination: ";

        OverlayElement* guiinfo2 = OverlayManager::getSingleton().getOverlayElement("Core/myinfo2");

        guiinfo2->setCaption(mytxt2 + StringConverter::toString(mDestination));

        static String mytxt3 = "mDirection: ";

        OverlayElement* guiinfo3 = OverlayManager::getSingleton().getOverlayElement("Core/myinfo3");

        guiinfo3->setCaption(mytxt3 + StringConverter::toString(mDirection));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  游戏 border
相关文章推荐