我正试图在你运行启动游戏的可执行文件时立即弹出一个加载屏幕,同时游戏加载我想在桌面上显示图像,就像Gamemaker允许你加载一样图像。
我有一个简短的环顾四周,大多数人想要一个图像显示,同时他们加载的内容不是我想要的,或者可能是...... = P
我的猜测是在开始时设置无边界的游戏窗口,加载启动画面,绘制它,然后开始所有主要加载(特别是通过SlimDX加载DirectInput需要一段时间)。然而,这种支持是否具有透明/不规则形状的图像? E.G如果我希望在游戏加载时显示无边界圆圈,那可能吗?
感谢。
答案 0 :(得分:1)
这很简单。只需实施System.Threading
即可。
以下是它的工作原理,首先添加:
using System.Threading;
到班级的顶部,然后添加以下内容:
//the enum for state types
enum GameState
{
Loading,
StartMenu
}
//Init our gameState enum as variable
GameState gameState;
protected override void LoadContent()
{
gameState = GameState.Loading;
spriteBatch = new SpriteBatch(GraphicsDevice);
device = GraphicsDevice;
Window.Title = "Your Window";
//Other stuff that you had here before, now go in LoadGame()
loadingscreen = Content.Load<Texture2D>("loading");
Thread bgLoad = new Thread(new ThreadStart(LoadGame));
bgLoad.IsBackground = true;
bgLoad.Start();
}
public void LoadGame()
{
//Loading stuff here
gameState = GameState.StartMenu; //or GameState.Playing
}
然后在内容项目中加载纹理
答案 1 :(得分:0)
如果我理解正确,你基本上想要打开一个不是全屏的窗口,它也缺少窗口附带的常规边框和按钮。
我无法测试这个,但这应该是一个好的开始。
我首先要创建一个可以跟踪图像并跟踪计时器时间的裸骨Game1类。 稍后您可以添加实际跟踪主程序中资产加载的逻辑。 首先,我只需要测试3秒钟的固定时间。