我现在正试图通过制作一些简单旧游戏的克隆来学习Monogame。我尝试通过此处描述的方法设置屏幕分辨率:
How do I set the window / screen size in xna?
首先,调用Console.WriteLine()
报告分辨率已成功更改,但是当我运行该程序时,我得到默认的800x480。我在Console.WriteLine()
方法中添加了对update()
的另一个调用,以查看解决方案的内容,并报告了800x480。
我该怎么做才能解决这个问题?我是否需要每次都在update()
方法中设置分辨率?
答案 0 :(得分:1)
在游戏构造函数中添加初始分辨率。如果您输入Initalize,系统首先将分辨率更改为默认值,然后再输入您的。使用此代码,系统将只更改一次分辨率。现在没有代码,但它应该是这样的:
public Game1()
{
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferHeight = 600;
graphics.PreferredBackBufferWidth = 800;
// graphics.ApplyChanges(); <-- not needed
}
然后如果你想稍后改变,请输入更新功能。
protected override void Update(GameTime gameTime)
{
if(changeresolution){
graphics.PreferredBackBufferHeight = 1600;
graphics.PreferredBackBufferWidth = 1800;
graphics.ApplyChanges();
changeresolution = false;
}
}