解决云原神无法在Linux中浏览器下运行的问题
总字数:820字,预计阅读时间 01分 22秒。
本文为转载bilibili
用户@SocialismTeen在他的专栏中给出的解决办法。
问题
在Linux
平台上使用Chromium
系列内核的浏览器打开云原神会发生鼠标无法控制视角的问题。
解决
根据上面提到那位同志的研究,该问题是由于云原神在获得鼠标移动时使用的API
: Pointer Lock API
。在其他平台上该API
支持名为unadjustedMovement
的参数以关闭鼠标加速获得更好的体验,但是在Linux
平台上并不支持该参数,因此程序无法正确获得到鼠标指针的位置。
该同志给出的解决办法为使用钩子函数消除调用该API
时的参数,使用的代码如下:
const origin = HTMLElement.prototype.requestPointerLock
HTMLElement.prototype.requestPointerLock = function () {
return origin.call(this)
}
为了获得良好的游戏体验,可以使用油猴插件在进入网页时自动运行上述脚本:
// ==UserScript==
// @name Genshin Cloud
// @namespace http://tampermonkey.net/
// @version 0.1
// @description fix a Genshin Impact cloud game bug
// @match https://ys.mihoyo.com/cloud/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
const origin = HTMLElement.prototype.requestPointerLock
HTMLElement.prototype.requestPointerLock = function () {
return origin.call(this)
}
})();
文章作者:Ricardo Ren
版权声明:本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明来自
Ricardo's Blog。
2021 - 2024 © Ricardo Ren, 由 .NET 8.0.10 驱动。