本文整理汇总了C#中SFML.Graphics.RenderWindow.EnableVerticalSync方法的典型用法代码示例。如果您正苦于以下问题:C# RenderWindow.EnableVerticalSync方法的具体用法?C# RenderWindow.EnableVerticalSync怎么用?C# RenderWindow.EnableVerticalSync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SFML.Graphics.RenderWindow
的用法示例。
在下文中一共展示了RenderWindow.EnableVerticalSync方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
private static void Main(string[] args)
{
var form = new SettingsDialog();
Application.EnableVisualStyles();
Application.Run(form);
videoMode = VideoMode.DesktopMode;
RenderWindow window = new RenderWindow(videoMode, "Maze Crap", Styles.Fullscreen);
window.EnableVerticalSync(Settings.Default.VerticalSync);
window.ShowMouseCursor(false);
window.Closed += (sender, e) => Application.Exit();
window.KeyPressed += (sender, e) => ((RenderWindow) sender).Close();
SetUpMaze();
target = new Image(VideoMode.DesktopMode.Width/10, VideoMode.DesktopMode.Height/10) {Smooth = false};
float accumulator = 0;
float WaitTime = 0;
var fps = (float) Settings.Default.Framerate;
window.Show(true);
bool hasrun = false;
while (window.IsOpened())
{
accumulator += window.GetFrameTime();
while (accumulator > fps)
{
if (FinishedGenerating && !Solving)
{
if (WaitTime < Settings.Default.WaitTime && hasrun)
{
WaitTime += window.GetFrameTime();
}
else
{
WaitTime = 0;
CurrentCell = StartCell*2;
VisitedWalls[CurrentCell.X, CurrentCell.Y] = true;
CellStack.Clear();
Solving = true;
hasrun = true;
}
accumulator -= fps;
continue;
}
if (Solving && FinishedSolving)
{
if (WaitTime < Settings.Default.WaitTime)
WaitTime += window.GetFrameTime();
else
{
Solving = false;
FinishedGenerating = false;
FinishedSolving = false;
SetUpMaze();
continue;
}
continue;
}
if (Solving && !FinishedSolving)
{
if (Settings.Default.ShowSolving)
FinishedSolving = !SolveIterate(CellStack, Cells, Walls, StartCell, EndCell);
else
{
while (SolveIterate(CellStack, Cells, Walls, StartCell, EndCell)) ;
FinishedSolving = true;
}
accumulator -= fps;
continue;
}
if (Settings.Default.ShowGeneration)
{
FinishedGenerating = !GenerateIterate(CellStack, Cells, Walls);
hasrun = true;
}
else
{
while (GenerateIterate(CellStack, Cells, Walls)) ;
FinishedGenerating = true;
}
accumulator -= fps;
NeedsRedraw = true;
}
Render(window);
window.Display();
window.DispatchEvents();
}
}
示例2: RecreateRenderWindow
void RecreateRenderWindow(IntPtr handle)
{
if (_rw != null)
{
if (!_rw.IsDisposed)
_rw.Dispose();
_rw = null;
}
_rw = new RenderWindow(handle);
_rw.EnableVerticalSync(false);
_rw.Show(true);
OnRenderWindowCreated(_rw);
}
示例3: OnRenderWindowChanged
/// <summary>
/// Handles the <see cref="IGameContainer.RenderWindowChanged"/> event.
/// </summary>
/// <param name="oldValue">The old value.</param>
/// <param name="newValue">The new value.</param>
protected virtual void OnRenderWindowChanged(RenderWindow oldValue, RenderWindow newValue)
{
if (newValue == null)
return;
newValue.ShowMouseCursor(ShowMouseCursor);
newValue.EnableVerticalSync(UseVerticalSync);
newValue.SetActive();
newValue.Show(true);
}
示例4: Initialize
private static void Initialize()
{
#region setup debug
TextWriterTraceListener debugger = new TextWriterTraceListener(Console.Out);
Debug.Listeners.Add(debugger);
#endregion
Debug.WriteLine("Initializing Game");
#region window setup
window = new RenderWindow(new VideoMode((uint)screenSize.X, (uint)screenSize.Y, 32), "BPN", Styles.Close);
window.SetFramerateLimit(30);
window.KeyReleased += new EventHandler<KeyEventArgs>(window_KeyReleased);
window.Closed += new EventHandler(window_Closed);
window.MouseButtonReleased += new EventHandler<MouseButtonEventArgs>(window_MouseButtonReleased);
window.MouseMoved += new EventHandler<MouseMoveEventArgs>(window_MouseMoved);
window.MouseButtonPressed += new EventHandler<MouseButtonEventArgs>(window_MouseButtonPressed);
window.MouseWheelMoved += new EventHandler<MouseWheelEventArgs>(window_MouseWheelMoved);
window.EnableVerticalSync(true);
#endregion
#region Gui Setup
guiRenderer = new Gwen.Renderer.SFML(window);
guiRenderer.Initialize();
skin = new TexturedBase(guiRenderer, @"Data/DefaultSkin.png");
guiFont = new Gwen.Font("Data/OpenSans.ttf", 10);
guiFontLarge = new Gwen.Font("Data/OpenSans.ttf", 14);
guiRenderer.LoadFont(guiFont);
guiRenderer.LoadFont(guiFontLarge);
skin.SetDefaultFont(guiFont.FaceName);
_canvas = new Canvas(skin);
_canvas.SetSize(screenSize.X, screenSize.Y);
_canvas.ShouldDrawBackground = true;
_canvas.BackgroundColor = System.Drawing.Color.FromArgb(255, 150, 170, 170);
_canvas.KeyboardInputEnabled = true;
input = new Gwen.Input.SFML();
input.Initialize(_canvas);
#endregion
#region Side Buttons
aboutPageButton = new Button(_canvas);
aboutPageButton.Text = "About";
aboutPageButton.SetPos(4, 2*screenSize.Y/3-8);
aboutPageButton.OnDown += new Gwen.Controls.Base.ControlCallback(aboutPageButton_OnDown);
bookPageButton = new Button(_canvas);
bookPageButton.Text = "Books";
bookPageButton.SetPos(4, 32);
bookPageButton.OnDown += new Gwen.Controls.Base.ControlCallback(bookPageButton_OnDown);
activePageButton = bookPageButton;
#endregion
int leftBound = 80;
smallPageBounds = new System.Drawing.Rectangle(leftBound,leftBound,screenSize.X-leftBound*2,screenSize.Y -leftBound*2);
#region Name Generator Initialization
BookNameGenerator.Initialize();
PersonNameGenerator.Initialize();
//Have a few books ready for review at beginning of the game
for (int i = 0; i < 8; i++)
{ Book b = new Book(); }
#endregion
GameManager.Initialize();
guiRenderer.Initialize();
Notifications.Initialize();
Book.Initialize();
Debug.WriteLine("Initialization Complete");
}