1

我正在使用 MOGRE,一个 OGRE3D 的 C# 绑定。我创建了自己的渲染循环,并使用 WindowEventUtilities.MessagePump() 来更新窗口。

这是我的主要应用程序循环:

while (SFMLWin.IsOpened() && !OGREWin.IsClosed)
{
    try
    {
        if (fpsClock.Milliseconds > 0)
            fps = 1000 / fpsClock.Milliseconds;

        fpsClock.Reset();
        SFMLWin.DispatchEvents();
        SFMLWin.GetFrameTime();
        inputKeyboard.Capture();
        inputMouse.Capture();
        OnCollision();
        OnKeyHold();
        MainDraw();
        WindowEventUtilities.MessagePump();
    }
    catch
    {
        break;
    }
}
SFMLWin.Dispose();
OGREWin.Dispose();

当我在 WindowEventUtilities.MessagePump(); 关闭 OGREWin 时,我仍然收到“FatalExecutionError”代码。try/catch 语句没有捕获任何东西,我无法在 WindowEventUtilities.MessagePump() 周围实现任何 if 语句来解决这种情况。我真的很困惑该怎么做。

我在 MOGRE 板上发布了一个主题,但尚未找到解决方案。

4

0 回答 0