如何在ogre遊戲界面添加自己的信息,比如顯示某變量的值

 

// 首先在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)函數包含如下內容:

  1.         static String mytxt = "mDistance: ";
  2.         OverlayElement* guiinfo = OverlayManager::getSingleton().getOverlayElement("Core/myinfo1");
  3.         guiinfo->setCaption(mytxt + StringConverter::toString(mDistance));
  4.         static String mytxt2 = "mDestination: ";
  5.         OverlayElement* guiinfo2 = OverlayManager::getSingleton().getOverlayElement("Core/myinfo2");
  6.         guiinfo2->setCaption(mytxt2 + StringConverter::toString(mDestination));
  7.         static String mytxt3 = "mDirection: ";
  8.         OverlayElement* guiinfo3 = OverlayManager::getSingleton().getOverlayElement("Core/myinfo3");
  9.         guiinfo3->setCaption(mytxt3 + StringConverter::toString(mDirection));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章