/// <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