本文整理汇总了C++中Window::BeginDraw方法的典型用法代码示例。如果您正苦于以下问题:C++ Window::BeginDraw方法的具体用法?C++ Window::BeginDraw怎么用?C++ Window::BeginDraw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Window
的用法示例。
在下文中一共展示了Window::BeginDraw方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Render
void Game::Render() {
_window.BeginDraw();
_world.Render(*_window.GetRenderWindow());
_snake.Render(*_window.GetRenderWindow());
_textBox.Render(*_window.GetRenderWindow());
_window.EndDraw();
}
示例2: BoreCastleMain
int BoreCastleMain()
{
const int width = 1920 / 2;
const int height = 1080 / 2;
Window* window = Window::Create("Hello World!", width, height);
window->OnKeyEvent(window) = OnKey;
Shanoa shanoa({130, height - 128 + 2 - 24}, window);
Zone* zone = CreateTestZone(width, height, window);
Sprite sprite_energy(24, window->LoadImage(DATA_PATH "Sprite.png"), 60);
Sprite sprite_elskeletto(2, window->LoadImage(DATA_PATH "ElSkeletto/ElSkeletto.png"), 5);
Point elskeletto_position = {450, window->Height() - 128 - 32};
Point zone_offset;
Rate rate(60);
Shape s1(shanoa.Rect());
Shape s2({elskeletto_position, sprite_elskeletto.Size()});
//Obvious memory leak
auto quartz = [](Shape& shape)
{
auto& hs = shape.size / 2; //half size
shape.AddShape(new Shape({{shape.position}, hs}));
shape.AddShape(new Shape({{shape.position.x + hs.x, shape.position.y}, hs}));
shape.AddShape(new Shape({{shape.position.x, shape.position.y + hs.y}, hs}));
shape.AddShape(new Shape({{shape.position.x + hs.x, shape.position.y + hs.y}, hs}));
};
quartz(s1);
quartz(s2);
s1.MoveTo(shanoa.Position());
s2.MoveTo(elskeletto_position);
while(window->Update())
{
for(int i = rate.Update(); i > 0; --i)
{
if(GetKeyState(Keys::KeyF))
shanoa.Attack();
if(GetKeyState(Keys::KeySpace))
shanoa.Jump();
if(GetKeyState(Keys::KeyLeft))
{
shanoa.MoveLeft();
--zone_offset;
}
else if(GetKeyState(Keys::KeyRight))
{
shanoa.MoveRight();
++zone_offset;
}
else
shanoa.Stand();
shanoa.Update();
s1.MoveTo(shanoa.Position());
s1.Intersect(s2);
}
window->BeginDraw(false);
window->Clear({0, 0, 0x20});
zone->RenderBackground(window);
sprite_energy.Draw({530, 55}, window);
s1.Render(*window);
s2.Render(*window);
sprite_elskeletto.Draw(elskeletto_position, window);
shanoa.Render(window);
zone->RenderForeground(window);
window->EndDraw();
zone->SetOffset(zone_offset);
}
delete zone;
delete window;
return 0;
}