本文整理汇总了C++中sf::RenderWindow::SetView方法的典型用法代码示例。如果您正苦于以下问题:C++ RenderWindow::SetView方法的具体用法?C++ RenderWindow::SetView怎么用?C++ RenderWindow::SetView使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sf::RenderWindow
的用法示例。
在下文中一共展示了RenderWindow::SetView方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onDraw
void Container::onDraw(sf::RenderWindow& render)
{
sf::View original = render.GetView();
sf::View view = render.GetView();
view.Move(-rect.Left,-rect.Top);
render.SetView(view);
for(std::list<Widget*>::iterator i = childs.begin(); i != childs.end() ; ++i)
{
(*i)->draw(render);
render.SetView(layout->adjust(render.GetView(),**i));
}
render.SetView(original);
}
示例2: Draw
void Model::Draw(sf::RenderWindow& Window)
{
Window.SetView( & CurrentView);
Window.Draw( mSea);
Window.Draw( blastList );
Window.Draw( *player );
Window.Draw( planeList );
Window.Draw( bulletList);
Window.Draw( *cursor );
Window.SetView(NULL);
Window.Draw( myHud);
}
示例3:
void ObjBackground::draw(sf::RenderWindow& window)
{
// _sprite loop qui se termine
window.SetView(window.GetDefaultView());
const sf::Vector2f position = _sprite.GetPosition();
window.Draw(_sprite);
for (unsigned int i = 0; i < 20; ++i)
{
_sprite.SetPosition(position.x + (_image->GetWidth() * i), position.y);
window.Draw(_sprite);
}
_sprite.SetPosition(position);
window.SetView(GGJ::Context::getSingleton().accessView());
}
示例4:
void GUI::Menu::Menu::draw(sf::RenderWindow& window) {
// Make view that is as close to 640x480 as possible and centered.
view = window.GetDefaultView();
view.Zoom(std::min(view.GetRect().GetWidth() / 640, view.GetRect().GetHeight() / 480));
view.SetCenter(320, 240);
window.SetView(view);
window.Clear(sf::Color(0xcc, 0x66, 0x33));
Container::draw(window);
window.Draw(logoSprite);
}
示例5: draw
void GameScreen::draw (sf::RenderWindow &app)
{
app.Clear();
app.SetView(ConfigOptions::getView()); //switching to custom view for easy resizing of the screen
app.Draw(m_background);
m_highlighter.draw(app);
if(m_selectedPiece != NULL_SQUARE)
app.Draw(m_selectionSprite);
if(m_selectedTarget != NULL_SQUARE)
app.Draw(m_targettingSprite);
app.Draw(m_cursor);
for(std::map<PiecePtr, PieceSprite>::iterator it = m_pieces.begin(); it != m_pieces.end(); ++it)
app.Draw(it->second);
if(!isOver())
{
if(m_game.getActivePlayer() == GOLD)
app.Draw(m_goldTurnIndicator);
else //SILVER
app.Draw(m_silverTurnIndicator);
if(m_game.hasStarted())
{
app.Draw(m_movesBackgroundSprite);
app.Draw(m_nbMovesSprite);
}
else //game has not started
{
m_placementUI.draw(app, m_game.canEndPlacement());
}
m_turnSign.draw(app);
}
else //the game is over
app.Draw(m_victorySign);
app.SetView(app.GetDefaultView()); //switching back to default view
app.Display();
}
示例6: run
void MainMenuHandler::run(sf::RenderWindow& window) {
ImageCache mainMenuImages;
const sf::Image& logoImage = mainMenuImages.get(Path::findDataPath("graphics/logo.png"));
// Entering main menu, no game should be running.
GameHandler::instance.reset();
// Make view that is as close to 640x480 as possible and centered.
view = window.GetDefaultView();
view.Zoom(std::min(view.GetRect().GetWidth() / 640, view.GetRect().GetHeight() / 480));
view.SetCenter(view.GetHalfSize());
window.SetView(view);
window.SetFramerateLimit(30);
// Position at the top of the window.
sf::Sprite logoSprite(logoImage);
logoSprite.SetCenter(logoImage.GetWidth() / 2, 0);
logoSprite.SetPosition(window.GetView().GetRect().GetWidth() / 2, 1);
// Build the main menu GUI.
GUI::Container gui;
gui.insert(boost::shared_ptr<GUI::Object>(new GUI::Button("New game", 200, 100, 240, 50, boost::bind(&MainMenuHandler::startGame, this))));
gui.insert(boost::shared_ptr<GUI::Object>(new GUI::Button("Exit", 250, 170, 140, 50, boost::bind(&sf::RenderWindow::Close, boost::ref(window)))));
menuClosed = false;
while (window.IsOpened() && !menuClosed) {
sf::Event e;
if (window.GetEvent(e)) {
if (gui.handleEvent(e, window)) {
continue;
}
if (e.Type == sf::Event::Closed || (e.Type == sf::Event::KeyPressed && e.Key.Code == sf::Key::Escape)) {
window.Close();
continue;
}
} else {
window.Clear(sf::Color(0xcc, 0x66, 0x33));
window.Draw(logoSprite);
gui.draw(window);
window.Display();
}
}
}
示例7: Draw
SBI gra_screen::Draw(sf::RenderWindow &App)
{
App.SetView(view);
App.Draw(boisko_sp);
App.Draw(wynik_obl);
//App.Draw(wynik_obs);
App.Draw(wynik_obp);
App.Draw(Timer_ob1);
//App.Draw(Timer_ob2);
#ifndef Release
App.Draw(Techdata);
#endif
//for (int i=0; i<6; i++)
// App.Draw(lingran[i]);
for (int i=0; i<obiekty_il; i++)
{
(obiekty+i)->Draw(App);
}
return SBI();
}
示例8: ProcessAppEvents
void ProcessAppEvents(sf::RenderWindow &App, sf::View &v, GroupManager &gm)
{
sf::Event Event;
while (App.GetEvent(Event))
{
switch (Event.Type)
{
case sf::Event::Closed: App.Close(); break;
case sf::Event::KeyPressed:
{
switch (Event.Key.Code)
{
case sf::Key::Escape: App.Close(); break;
case sf::Key::Right:
case sf::Key::Left:
case sf::Key::Up:
case sf::Key::Down:
{
const int step = 5;
v = App.GetView();
int hor = 0, ver = 0;
if (Event.Key.Code == sf::Key::Left)
hor+=step;
if (Event.Key.Code == sf::Key::Right)
hor-=step;
if (Event.Key.Code == sf::Key::Up)
ver+=step;
if (Event.Key.Code == sf::Key::Down)
ver-=step;
v.Move(hor, ver);
App.SetView(v);
break;
}
case sf::Key::S:
case sf::Key::D:
{
//if (Event.Key.Code == sf::Key::S)
// wanna_step_per_second-= wanna_step_per_second/10 - 1;
//if (Event.Key.Code == sf::Key::D)
// wanna_step_per_second+= wanna_step_per_second/10 + 1;
//if (wanna_step_per_second <= 0)
// step_per_second = 1;
//if (wanna_step_per_second >= 250)
// step_per_second = 250;
//step_time = 1.0/wanna_step_per_second;
break;
}
case sf::Key::W:
case sf::Key::E:
{
if (Event.Key.Code == sf::Key::E)
gm.SetStepSize(gm.GetStepSize() + 0.005);
if (Event.Key.Code == sf::Key::W)
gm.SetStepSize(gm.GetStepSize() - 0.005);
break;
}
case sf::Key::Z:
case sf::Key::X:
{
if (Event.Key.Code == sf::Key::Z)
v.Zoom(1.01);
if (Event.Key.Code == sf::Key::X)
v.Zoom(1.0/1.01);
break;
}
case sf::Key::A:
{
step_mode = (STEP_MODE) ((int)SM_HARD_STEPS_CNT + (int)SM_FREE_STEPS_CNT - step_mode);
break;
}
default: break;
}
break;
}
case sf::Event::Resized:
{
int h = Event.Size.Height;
int w = Event.Size.Width;
v.SetHalfSize(w/2, h/2);
break;
}
default: break;
}
}
}