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


C# RenderWindow.EnableVerticalSync方法代码示例

本文整理汇总了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();
            }
        }
开发者ID:Phyxius,项目名称:Maze-Gen,代码行数:86,代码来源:Program.cs

示例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);
        }
开发者ID:mateuscezar,项目名称:netgore,代码行数:16,代码来源:GraphicsDeviceControl.cs

示例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);
        }
开发者ID:mateuscezar,项目名称:netgore,代码行数:15,代码来源:GameBase.cs

示例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");
        }
开发者ID:Sprunth,项目名称:Book-Publishing-Nation,代码行数:76,代码来源:Program.cs


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