【问题标题】:Overlay Electron覆盖电子
【发布时间】:2016-06-07 03:25:36
【问题描述】:

我想知道是否可以将电子制作的应用程序覆盖在游戏上。本质上类似于 Steam 在游戏中的叠加方式。

我想要这个,因为我们已经制作了一个计时器网络应用程序,它可以对任务进行计时,并且正在讨论如果可能的话将其作为一个覆盖。为游戏中重复发生的某些事件计时

我不知道这是否可以实现,但它在我们的清单上很重要。任何关于如何实现这一点的例子,或者以前有人这样做过。

谢谢,

基兰

【问题讨论】:

  • 与 steam 的比较不是正确的思考方向,除非你想绑定 DirectX 或 OpenGL .. 电子规范和文档在这种主题上很少见,它不受 nativley 支持和需要成为 Electron 的扩展..
  • Steams 直接绑定到渲染引擎,你真的不能用电子轻松做到这一点。可以使电子窗口透明,请参阅此问题进行讨论:github.com/atom/electron/issues/381,因此您最好的选择可能是这样做并将窗口位置锁定到游戏窗口。
  • 如果挂钩 Direct3D/OpenGL 不是一个选项 - 试试这个stackoverflow.com/a/67110394/533976

标签: javascript overlay desktop electron


【解决方案1】:

要在游戏中绘制叠加层,需要根据游戏使用hook Direct3D或OpenGL api。

在当前调用之前(在 D3D 中),您可以在交换链表面上绘制自己的东西。

要控制游戏中的覆盖窗口,您需要使用 Windows 消息挂钩和其他一些东西。

并且你应该仔细管理你程序中所有在游戏中绘制的窗口。

有一个钩子项目Direct3DHook,它是用C#编写的,但是用C++编写会很容易。

如果你想写一个好的覆盖引擎,需要考虑很多细节。

Overwolf是一个overlay应用平台,我在工作中写了一个overlay项目,大概花了两个月的时间。

我写了一个项目,https://github.com/hiitiger/goverlay

【讨论】:

  • 您的 GitHub 存储库上的博客链接似乎已关闭
猜你喜欢
  • 1970-01-01
  • 2018-03-08
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多