如何解决MonoGame Window.Handle 不返回 Window 或 Form
我已经尝试了一段时间来解决这个问题,但我还没有在网上看到关于这个主题的任何解决方案。
问题是在使用 MonoGame 和 Platform DesktopGL 时,Window.Handle 似乎无效。由于尝试从此句柄获取窗口/表单返回空值,因此进一步支持这将是 BASS.Net 无法在此窗口句柄上播放音频,
这是我尝试使用句柄的部分代码(使用 Bass.Net 进行音频播放):
protected override void Initialize() {
Game = this;
//Getting the Form from Window Handle
Form = (Form)Control.FromHandle(Game.Window.Handle);
//Initializing Bass with Window Handle
Bass.BASS_Init(-1,4100,BASSInit.BASS_DEVICE_DEFAULT,Game.Window.Handle,null);
base.Initlialize()
}
我曾尝试在网上到处查看,1 条消息来源指出 MonoGame 平台 WindowsDX 显然返回了一个有效的表单,但从我在 MonoGame 的从未版本中注意到的情况来看,该平台似乎不再受支持,而且我会喜欢这个项目是跨平台的,所以我认为即使它存在/工作也坚持使用 WindowsDX 也不是一个好的解决方案。
预先感谢任何设法找到 MonoGame 为何不返回 Window 以及为什么此特定代码段不起作用的人。
解决方法
“Window.Handle”仅在 WindowsDX 平台上有效。
OpenGL,无论平台(包括Windows)都能满足这个要求。
如果您正在寻找跨平台解决方案,请寻找其他地方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。