All checks were successful
Build blog docker image / Build-Blog-Image (push) Successful in 1m36s
1.8 KiB
1.8 KiB
title | tags | date | ||
---|---|---|---|---|
解决云原神无法在Linux中浏览器下运行的问题 |
|
2023-10-09 23:56:34 |
解决云原神无法在Linux中浏览器下运行的问题
本文为转载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)
}
})();