/// <summary>
       /// タイトルバーの中にフレームレートやウィンドウサイズを表示する。インスタンス化はGameのメンバーとして行うように
       /// </summary>
       class WindowTitleInfo
       {
           public int Fps
           {
               get { return fps; }
           }
           private int fps = 0;
           private int frameCount = 0;
           private double timeCount = 0;
           private static Rectangle windowClientBounds;

           /// <summary>
           /// 実際に表示させる関数。UpdateもしくはDraw関数内で利用するしてください
           /// </summary>
           /// <param name="Window">Game.Windowプロパティを渡してください</param>
           /// <param name="gameTime">UpdateもしくはDraw関数のgametimeパラメータを渡してください</param>
           public void Display(GameWindow Window, GameTime gameTime)
           {
               Display(Window, gameTime, "");
           }

           /// <summary>
           /// 実際に表示させる関数。UpdateもしくはDraw関数内で利用するしてください
           /// </summary>
           /// <param name="Window">Game.Windowプロパティを渡してください</param>
           /// <param name="gameTime">UpdateもしくはDraw関数のgametimeパラメータを渡してください</param>
           /// <param name="str">追加表示する文字列</param>
           public void Display(GameWindow Window, GameTime gameTime ,string str)
           {
               frameCount++;
               timeCount += gameTime.ElapsedGameTime.TotalMilliseconds;
               if (timeCount >= 1000)
               {
                   fps = frameCount;
                   frameCount = 0;
                   timeCount -= 1000;
               }

               windowClientBounds = Window.ClientBounds;
               Window.Title = string.Format("{6}  :  time={0,18} fps={5,4} w={1,5} h={2,5} x={3,5} y={4,5} Slowly={7}",
                   gameTime.TotalGameTime,
                   windowClientBounds.Width,
                   windowClientBounds.Height,
                   windowClientBounds.X,
                   windowClientBounds.Y,
                   fps,
                   str,
                   gameTime.IsRunningSlowly);
           }
       }
最終更新:2012年06月23日 00:34