HIllya51 / LunaTranslator

Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard
http://docs.lunatranslator.org/
GNU General Public License v3.0
5.06k stars 319 forks source link

部分游戏全屏后,翻译窗口不能前置 #33

Closed EX-NILUX closed 2 years ago

EX-NILUX commented 2 years ago

你好!感谢大佬的辛劳。我最近在玩一个游戏时发现全屏后翻译窗口不能前置。 这里提供游戏链接给您下载测试改进 https://www.aliyundrive.com/s/UTnd7VSXXTX 这个游戏时elf社的游戏,他家很多游戏都是一个系统的,所以这类不能在全屏后窗口不能前置的游戏应该还有一些。 另外,vnr的翻译窗口不受影响。

HIllya51 commented 2 years ago

你提供的链接我无法下载。本软件和vnr均是使用的BringWindowToTop实现的置顶,理论上效果是一样的。

HIllya51 commented 2 years ago

已修正。

EX-NILUX commented 2 years ago

已修正。 啊!辛苦了,太好啦!我刚还录制这个游戏的视频打算上传给你作参考呢,然后录制后我发现,这游戏全屏是强制从平面左上角修改分辨率打开窗口,翻译窗口确实是前置的但并不在游戏窗口覆盖范围内,所以看不到。也是神奇的系统了。

HIllya51 commented 2 years ago

cao。还真是。我还以为是我的问题呢改了半天下🥶🥶🥶🥶

EX-NILUX commented 2 years ago

[手动捂脸]难为大佬了。 v1.18.3我下了,问题依然存在。虽然可以在游戏窗口化时将翻译窗口移动到左上角800*600范围内解决问题,但全屏后翻译窗口及文本显得很大,而且鼠标移动到翻译窗口上的按钮会导致翻译窗口一直伴随鼠标移动,在翻译窗口内点击则会 导致游戏窗口最小化。 我通过录屏软件的录制视频观察到,vnr在该游戏全屏后,其左侧工具栏、翻译窗口和右上角通知信息会快速移动到游戏视窗范围,等于是自动判定了这个行为,重新安排了他们的坐标。并且还对窗口及文字进行了缩小。我估计,vnr毕竟是老牌机翻软件,这类全屏在十年老游戏上估计不少。这或许是解决问题的一个思路。

最后提两个建议,在翻译窗口工具栏上增加文本缩放按钮。 添加短暂隐藏翻译窗口的按钮,在识别到新的文本后自动浮现。

HIllya51 commented 2 years ago

。。。这个感觉很难弄啊,而且在全屏前设置好就行了 目前按钮已经很多了,再加按钮有点太长了。。。而且修改字体也不算是一个实时性要求很高的设置。 暂时隐藏有什么用吗。。。最小化游戏窗口的时候是可以自动隐藏的。

2-3-5-7 commented 2 years ago

@EXBJAN 一些老游戏,有不支持全屏的,还有的全屏后显示有问题的。所以这种情况我都不用游戏自带的全屏,窗口模式后,加 Lossless Scaling 放大到全屏的。 Lossless Scaling 这个软件挺好用的。

EX-NILUX commented 2 years ago

嘛,确实不简单。 不过我自己通过一个全屏工具Magpie【https://github.com/Blinue/Magpie】实现的全屏不会对翻译窗口造成影响,但也有弊端,当点击非全屏窗口的元素时会造成全屏退出。所以换个思路也许可以增加一个自己的全屏功能以替代游戏里的全屏(嘛,既然能通过外部工具解决,该功能也可有可无) 上面提的文本缩放按钮其实是方便面对这种老游戏全屏后翻译文字显得太大快速做出调整,比如使用用正负号。其实如果不使用ocr翻译按钮个数也就14个。或者增加文本调整的快捷键设置也行,比如alt++字号加1,alt+-字号减1 暂时隐藏的作用是方便无遮挡看cg,和截图就好比galgame常有的右键隐藏文本框一样,这个我觉得可以不用增加按钮,可以增加一个设置:修改最小化按钮为点击最小化,获取到新的文本则自动还原就行。

EX-NILUX commented 2 years ago

@2-3-5-7 这种方法我知道,另外也用了下你发的Lossless Scaling,原理和我用的magpie也差不多

HIllya51 commented 2 years ago

后面会加上这几个快捷键的。