游戏窗口在启动时崩溃

本文关键字:崩溃 启动 窗口 游戏 | 更新日期: 2023-09-27 17:54:02

我有一个问题,使用opentkGameWindow类,后来我能够启动一个简单的gamewindow,但现在,不知道为什么,我不能了。

下面是控制台的输出:

Unhandled exception : System.TypeInitializationException: An exception was thrown by the type initializer for 'OpenTK.DisplayDevice'.
    ---> System.TypeInitializationException: An exception was thrown by the type initializer for 'OpenTK.Platform.Factory'.
    ---> System.EntryPointNotFoundException: Could not find entry point 'SDL_GameControllerEventState' in the DLL 'SDL2.dll'.
at OpenTK.Platform.SDL2.SDL.GameControllerEventState(EventState state)
at OpenTK.Platform.SDL2.Sdl2InputDriver..ctor() in c:'temp'opentk'Source'OpenTK'Platform'SDL2'Sdl2InputDriver.cs:line 58
at OpenTK.Platform.SDL2.Sdl2Factory..ctor() in c:'temp'opentk'Source'OpenTK'Platform'SDL2'Sdl2Factory.cs:line 37
at OpenTK.Platform.Factory..ctor() in c:'temp'opentk'Source'OpenTK'Platform'Factory.cs:line 60
at OpenTK.Toolkit.Init(ToolkitOptions options) in c:'temp'opentk'Source'OpenTK'Toolkit.cs:line 141
at OpenTK.Toolkit.Init() in c:'temp'opentk'Source'OpenTK'Toolkit.cs:line 91
at OpenTK.Platform.Factory..cctor() in c:'temp'opentk'Source'OpenTK'Platform'Factory.cs:line 51
--- End of internal exception stack trace ---
at OpenTK.Platform.Factory.get_Default()
at OpenTK.DisplayDevice..cctor() in c:'temp'opentk'Source'OpenTK'DisplayDevice.cs:line 68
--- End of internal exception stack trace ---
at OpenTK.DisplayDevice.get_Default()
at OpenTK.GameWindow..ctor(Int32 width, Int32 height, GraphicsMode mode, String title) in c:'temp'opentk'Source'OpenTK'GameWindow.cs:line 148
at ConsoleApplication1.StarterKit.Game..ctor() in C:'Users'Octogon'OctogonEngine'tests'test6'roslyn'ConsoleApplication1'ConsoleApplication1'Program.cs:line 22
at ConsoleApplication1.StarterKit.Game.Main() in C:'Users'Octogon'OctogonEngine'tests'test6'roslyn'ConsoleApplication1'ConsoleApplication1'Program.cs:line 81

OpenTK.dll被正确引用。

我试图启动的gamewindowopentk示例:http://www.opentk.com/doc/chapter/0

游戏窗口在启动时崩溃

解决方法如下:https://github.com/opentk/opentk/issues/266

如果在windows上使用opentk,则在启动时执行

var options = new ToolkitOptions();
options.Backend = PlatformBackend.PreferNative;
Toolkit.Init(options);