如何在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)函数包含如下内容: 

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)); 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mokt2001/archive/2008/09/21/2957731.aspx

你可能感兴趣的:(游戏)