EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

QA

为什么输入法会对游戏产生影响?

为什么输入法会对游戏产生影响?

先说结论因为游戏没做好。

具体原因:你的中文输入法UI没有在游戏中正确地显示出来。

解释:   

如果你玩过CSGO或者像绝地求生 类游戏,肯定有注意到过

设置里面有 ①全屏窗口全屏(窗口)三种显示模式。

你有没有想过为什么要有3种?这3种有什么不同? 

①如果选择全屏,游戏则是调用了一个不同的图形渲染接口,输入法在游戏里面的 UI框需要重画

(这个工作是 须要做的,特别是对像中文输入法这种)

而这个工作要是不做,对英文输入法一点问题都没有,因为英语母语者不像我们的中文拼音输入法

这样出现候选框UI,人家英文直接对应输入,实际上也就根本不存在什么英文输入法。(因为本身就是英语母语的人设计的键盘)

而我们则可能用的是搜狗输入法百度输入法QQ输入法……,这样的输入法, Windows桌面状态下正常 显示 不错,但是到了游戏里就不一样了,游戏调用的图形接口就和桌面的不一样

游戏 不能使用桌面的接口来渲染,

换句话讲,因为游戏的渲染图像是覆盖桌面的。你的游戏图像已经覆盖桌面了,即使是显示出来,也一定还是渲染在桌面,游戏里是看不到的。

那么只有重新画出输入法UI。

不重新画,就会报错。

游戏一开始就会加载你的输入法,因为游戏本身存在future、mustanche之类的这类指令,一定是调用到了输入法的,但是在准备重新画输入框的时候,去读取输入法接口部分,发现这块代码是空的(或不兼容),所以只能报错Fatal Error!

像盗版过来的《植物大战僵尸》初代的这款游戏,官方好像并没有没有中文版,steam上面好像是没有看到官方中文,汉化是后来加上去的,虽然盗版汉化了,但输入法这一块,汉化组应该是无能为力

其实这也算是盗版游戏的通病吧。(笑

② 如果你选择窗口模式,那就是没有切换图像渲染接口,输入法的UI还是由原来的桌面在渲染。

③ 全屏窗口模式实际上还是窗口模式,只是看起来像全屏

这就是你窗口模式为啥不报错的原因。


Extra:

至于“点击游戏后狂按左键”,其实也是拒绝注入输入法的一种。(试过了,这个有点拼)

tieba

强烈建议开3D加速,3D加速会让你玩起来更舒服一些。(前提是你有独立显卡)

 

参考文档:

[1] 为什么全屏游戏中使用中文输入法会使游戏窗口化/黑屏?

This article was last edited at 2020-12-15 14:15:38

* *