这些边框在 Monogame Android 中是从哪里来的?
Where did these borders come from in Monogame Android?
即使我使用 GraphicsDevice.ToggleFullScreen() 或 GraphicsDevice.IsFullScreen = true;然后是 this post 中描述的 GraphicsDevice.ApplyChanges(),我似乎仍然在屏幕的两个边缘都有这个边框,在此屏幕截图中以经典的 CornflowerBlue 显示以形成对比。背景图像锚定在 0,0,宽度和高度设置为屏幕尺寸。据我猜测,“边界”似乎大约为 10 或 20 像素,而不是在顶部或底部,仅在左右边缘。我不明白这是从哪里来的。
如果您希望您的游戏在所有设备上全屏显示:
#if ANDROID
graphics.IsFullScreen = true;
graphics.PreferredBackBufferWidth = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width;
graphics.PreferredBackBufferHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height;
graphics.SupportedOrientations = DisplayOrientation.Portrait;//if your game does NOT support for anything else but portrait mode
graphics.ApplyChanges();
#endif
不过这种情况下需要注意,因为设备的比例不一样,有的是16:9,有的是4:3,等等,如果你需要适配你的游戏对于所有这些,您最好将游戏对象的大小调整为可变或设置为成比例。
即使我使用 GraphicsDevice.ToggleFullScreen() 或 GraphicsDevice.IsFullScreen = true;然后是 this post 中描述的 GraphicsDevice.ApplyChanges(),我似乎仍然在屏幕的两个边缘都有这个边框,在此屏幕截图中以经典的 CornflowerBlue 显示以形成对比。背景图像锚定在 0,0,宽度和高度设置为屏幕尺寸。据我猜测,“边界”似乎大约为 10 或 20 像素,而不是在顶部或底部,仅在左右边缘。我不明白这是从哪里来的。
如果您希望您的游戏在所有设备上全屏显示:
#if ANDROID
graphics.IsFullScreen = true;
graphics.PreferredBackBufferWidth = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width;
graphics.PreferredBackBufferHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height;
graphics.SupportedOrientations = DisplayOrientation.Portrait;//if your game does NOT support for anything else but portrait mode
graphics.ApplyChanges();
#endif
不过这种情况下需要注意,因为设备的比例不一样,有的是16:9,有的是4:3,等等,如果你需要适配你的游戏对于所有这些,您最好将游戏对象的大小调整为可变或设置为成比例。