当前位置: 首页>>代码示例>>C++>>正文


C++ OverlayElement::setPosition方法代码示例

本文整理汇总了C++中ogre::OverlayElement::setPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ OverlayElement::setPosition方法的具体用法?C++ OverlayElement::setPosition怎么用?C++ OverlayElement::setPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ogre::OverlayElement的用法示例。


在下文中一共展示了OverlayElement::setPosition方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: showDialogue

void Menu::showDialogue(const std::string& first, const std::vector<std::string>& options)
{
  Ogre::OverlayManager& om = Ogre::OverlayManager::getSingleton();
  std::cout << "getByName(overlay)\n";
  Ogre::Overlay* dialOverlay = om.getByName(cDialogueOverlay);
  if (dialOverlay == NULL)
  {
    std::cout << "create(overlay)\n";
    dialOverlay = om.create(cDialogueOverlay);
  }
  Ogre::OverlayContainer* dialCont = NULL;
  std::cout << "getOE(Box)\n";
  dialCont = static_cast<Ogre::OverlayContainer*> (om.getOverlayElement(cDialogueOverlay+"/Box"));
  if (dialCont == NULL)
  {
    std::cout << "createOE(Box)\n";
    dialCont = static_cast<Ogre::OverlayContainer*>
                    (om.createOverlayElement("Panel", cDialogueOverlay+"/Box"));
    dialCont->setPosition(0.0, 0.75);
    dialCont->setDimensions(1.0, 0.25);
    dialCont->setMaterialName("Dusk/Dialogue/Black");
  }
  std::cout << "getOE(Box/First)\n";
  Ogre::OverlayElement* dialElem;
  dialElem = om.getOverlayElement(cDialogueOverlay+"/Box/First");
  if (dialElem==NULL)
  {
    std::cout << "createOE(Box/First)\n";
    dialElem = om.createOverlayElement("TextArea", cDialogueOverlay+"/Box/First");
    dialElem->setDimensions(1.0, 0.0625);
    dialElem->setPosition(0.0, 0.0);
    dialElem->setMaterialName("Dusk/Dialogue/Element");
    dialCont->addChild(dialElem);
  }
  dialElem->setCaption(first);
  dialElem->show();
  unsigned int elemCount = options.size();
  if (elemCount > cMaxDialogueOptions)
  {
    elemCount = cMaxDialogueOptions;
  }

  killDialogueOverlayLines();
  unsigned int i;
  const float elemHeight = 0.8/(float)elemCount;
  for (i=0; i<elemCount; i=i+1)
  {
    //dialElem = om.createOverlayElement("TextArea", cDialogueOverlay+"/Box/Line"+IntToString(i));
    dialElem = om.createOverlayElementFromTemplate(cDialogueOverlay+"/LineTemplate", "TextArea", cDialogueOverlay+"/Box/Line"+IntToString(i));
    dialElem->setPosition(0.1, dialCont->getHeight()*(0.2+i*elemHeight));
    dialElem->setDimensions(0.8, elemHeight*dialCont->getHeight());
    dialElem->setCaption(IntToString(i+1)+": "+options[i]);
    dialElem->show();
    dialCont->addChild(dialElem);
    m_DialogueLineCount = i+1;
  }//for
  dialOverlay->show();
}
开发者ID:Thoronador,项目名称:Dusk,代码行数:58,代码来源:Menu.cpp

示例2: enter

void SplashScreenState::enter()
{
	OgreFramework::getSingletonPtr()->m_pLog->logMessage("Entering SplashScreenState...");

	m_pSceneMgr = OgreFramework::getSingletonPtr()->m_pRoot->createSceneManager(Ogre::ST_GENERIC, "SplashSceneMgr");
	m_pSceneMgr->setAmbientLight(Ogre::ColourValue(0.7f, 0.7f, 0.7f));

	m_pSceneMgr->addRenderQueueListener(OgreFramework::getSingletonPtr()->m_pOverlaySystem);

	m_pCamera = m_pSceneMgr->createCamera("SplashCam");
	m_pCamera->setPosition(Ogre::Vector3(0, 25, -50));
	m_pCamera->lookAt(Ogre::Vector3(0, 0, 0));
	m_pCamera->setNearClipDistance(1);

	m_pCamera->setAspectRatio(Ogre::Real(OgreFramework::getSingletonPtr()->m_pViewport->getActualWidth()) /
		Ogre::Real(OgreFramework::getSingletonPtr()->m_pViewport->getActualHeight()));

	OgreFramework::getSingletonPtr()->m_pViewport->setCamera(m_pCamera);

	createScene();

	OgreFramework::getSingletonPtr()->m_pTrayMgr->destroyAllWidgets();

	new ObjectCache(m_pSceneMgr);

	Ogre::OverlayElement * btn = OgreFramework::getSingletonPtr()->m_pTrayMgr->createButton(OgreBites::TL_NONE, "SplashBtn", "Press Enter to continue...", 250)->getOverlayElement();
	btn->setPosition(Ogre::Real(OgreFramework::getSingletonPtr()->m_pViewport->getActualWidth()) * 50 / 100 - 125,
			Ogre::Real(OgreFramework::getSingletonPtr()->m_pViewport->getActualHeight()) * 75 / 100);
	OgreFramework::getSingletonPtr()->m_pTrayMgr->hideCursor();
}
开发者ID:lemarkis,项目名称:ZappyGraph,代码行数:30,代码来源:SplashScreenState.cpp

示例3: createChildElement

	Ogre::OverlayElement* COverlay::createChildElement(const std::string &type, const std::string& name, 
		float left, float top, float width, float height)
	{		
		assert( !_overlayManager->hasOverlayElement(name) && "Ya existe un elemento hijo con el mismo nombre" );
		
		Ogre::OverlayElement* newChild = _overlayManager->createOverlayElement(type, name);
			newChild->setMetricsMode(_metricsMode); 
			newChild->setPosition(left, top);		// segun metricsMode: relativas o en pixeles
			newChild->setDimensions(width, height); 
		
		_childElements[name] = newChild;

		return newChild;
	} // createChildTextArea
开发者ID:MrLobo,项目名称:El-Rayo-de-Zeus,代码行数:14,代码来源:Overlay.cpp

示例4: AddTextBox

	void TextRenderer::AddTextBox(const std::string &id,
		const std::string &text,
		Ogre::Real x, Ogre::Real y,
		Ogre::Real width, Ogre::Real height,
		const Ogre::ColourValue &color)
	{
		Ogre::OverlayElement *textBox = m_overlayMgr->createOverlayElement("TextArea", id);
		textBox->setDimensions(width, height);
		textBox->setMetricsMode(Ogre::GMM_PIXELS);
		textBox->setPosition(x, y);
		textBox->setWidth(width);
		textBox->setHeight(height);
		textBox->setParameter("font_name", "DebugFont");
		textBox->setParameter("char_height", "16");
		textBox->setColour(color);

		textBox->setCaption(text);

		m_panel->addChild(textBox);
	}
开发者ID:likeleon,项目名称:RocketCommanderOgre,代码行数:20,代码来源:TextRenderer.cpp

示例5:

void
EndGameState::enter ()
{
	bool mapFit=false;
	if (!_root)
	{
	  _root = Ogre::Root::getSingletonPtr();
	  _gameMgr = GameManager::getSingletonPtr();

	  // Se recupera el gestor de escena y la cámara.
	  _sceneMgr = _root->getSceneManager("SceneManager");
	  
	  _camera = _sceneMgr->getCamera("IntroCamera");
	  _viewport = _root->getAutoCreatedWindow()->getViewport(0);
	  //_viewport = _root->getAutoCreatedWindow()->addViewport(_camera);
	  // Nuevo background colour.
	  _viewport->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 0.0));
	  _overlayMgr = Ogre::OverlayManager::getSingletonPtr();

	  mapFit=false;
	}

	_overlayMgr = Ogre::OverlayManager::getSingletonPtr();
	overlay = _overlayMgr->getByName("EndOverlay");
	Ogre::OverlayElement *endOverlay = _overlayMgr->getOverlayElement("endPanel");

	double width = _viewport->getActualWidth();
	double height = _viewport->getActualHeight();
	double aspectRatio = endOverlay->getWidth()/endOverlay->getHeight();
	endOverlay->setDimensions(width,width/aspectRatio);
	endOverlay->setPosition(0,(height/2)-(endOverlay->getHeight()/2));
	_gameMgr->playEndMusic();


	
  overlay->show();

  _exitGame = false;
}
开发者ID:jayped,项目名称:victomic,代码行数:39,代码来源:EndGameState.cpp


注:本文中的ogre::OverlayElement::setPosition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。