模板创建ogre overlay element

来源:互联网 发布:知乎formac 编辑:程序博客网 时间:2024/05/29 10:03

  Ogre::OverlayManager& om=Ogre::OverlayManager::getSingleton();
  Ogre::Overlay* ol=om.create("test");
 Ogre::OverlayContainer* temple_panel=static_cast <Ogre::OverlayContainer*>(om.createOverlayElementFromTemplate("SdkTrays/Cursor","Panel","myCursor"));
 temple_panel->setPosition(50,50);
 Ogre::OverlayContainer* temple_panel2=static_cast <Ogre::OverlayContainer*>(om.createOverlayElementFromTemplate("SdkTrays/Tray","BorderPanel","MyTray"));
 temple_panel->setPosition(100,100);
 Ogre::OverlayContainer* temple_panel3=static_cast <Ogre::OverlayContainer*>(om.createOverlayElementFromTemplate("SdkTrays/TextBox","BorderPanel","MyTextBox"));
 temple_panel->setPosition(150,150);
 Ogre::OverlayContainer* child_panel=(Ogre::BorderPanelOverlayElement*)temple_panel3->getChild("MyTextBox/TextBoxCaptionBar");
 
 Ogre::TextAreaOverlayElement*  mCaptionTextArea1 = (Ogre::TextAreaOverlayElement*)temple_panel3->getChild("MyTextBox/TextBoxText");
 mCaptionTextArea1->setCaption("hello, mr sh");
 Ogre::TextAreaOverlayElement*  mCaptionTextArea2 = (Ogre::TextAreaOverlayElement*)child_panel->getChild("MyTextBox/TextBoxCaptionBar/TextBoxCaption");
 mCaptionTextArea2->setCaption("hello, world");
 ol->add2D(temple_panel);
  ol->add2D(temple_panel2);
   ol->add2D(temple_panel3);
  ol->setZOrder(10);
 
  ol->show();

跑出来结果乖乖的 鼠标还可以接受 button很奇怪 而另外一个panel根本没有显示出来。不管了,留在以后再说吧。

这几个panel都是ogre自带的一些panel。