Project1

标题: 求助!!!如何在修改分辨率后按钮位置不变呢 [打印本页]

作者: Feng020120    时间: 2022-11-19 22:29
标题: 求助!!!如何在修改分辨率后按钮位置不变呢

如图,修改分辨率后按钮变得很为何。、
另外本人完全不懂代码...
有没有什么插件可以做到按钮变回816X624的尺寸呢

作者: 小秋橙    时间: 2022-11-19 23:57
不知道你用什么插件改的分辨率,最好是官方自带的Community_Basic.js。
rpg_managers.js第1800行左右有以下代码:
SceneManager._scene             = null;
SceneManager._nextScene         = null;
SceneManager._stack             = [];
SceneManager._stopped           = false;
SceneManager._sceneStarted      = false;
SceneManager._exiting           = false;
SceneManager._previousClass     = null;
SceneManager._backgroundBitmap  = null;
SceneManager._screenWidth       = 816;
SceneManager._screenHeight      = 624;
SceneManager._boxWidth          = 816;
SceneManager._boxHeight         = 624;
SceneManager._deltaTime = 1.0 / 60.0;
其中screenWidth和screenHeight是「游戏视野」的大小,而boxWidth和boxHeight是「UI面板」的大小,Community_Basic.js中修改前者会绑定修改后者,如下:
JAVASCRIPT 代码复制下载
  1. (function() {
  2.     function toNumber(str, def) {
  3.         return isNaN(str) ? def : +(str || def);
  4.     }
  5.  
  6.     var parameters = PluginManager.parameters('Community_Basic');
  7.     var cacheLimit = toNumber(parameters['cacheLimit'], 10);
  8.     var screenWidth = toNumber(parameters['screenWidth'], 816);
  9.     var screenHeight = toNumber(parameters['screenHeight'], 624);
  10.     var renderingMode = parameters['renderingMode'].toLowerCase();
  11.     var alwaysDash = parameters['alwaysDash'].toLowerCase() === 'on';
  12.     var windowWidthTo = toNumber(parameters['changeWindowWidthTo'], 0);
  13.     var windowHeightTo = toNumber(parameters['changeWindowHeightTo'], 0);
  14.  
  15.     var windowWidth;
  16.     var windowHeight;
  17.  
  18.     if(windowWidthTo){
  19.         windowWidth = windowWidthTo;
  20.     }else if(screenWidth !== SceneManager._screenWidth){
  21.         windowWidth = screenWidth;
  22.     }
  23.  
  24.     if(windowHeightTo){
  25.         windowHeight = windowHeightTo;
  26.     }else if(screenHeight !== SceneManager._screenHeight){
  27.         windowHeight = screenHeight;
  28.     }
  29.  
  30.  
  31.     ImageCache.limit = cacheLimit * 1000 * 1000;
  32.     SceneManager._screenWidth = screenWidth;
  33.     SceneManager._screenHeight = screenHeight;
  34.     SceneManager._boxWidth = screenWidth;
  35.     SceneManager._boxHeight = screenHeight; // 这里就是绑定修改,可以把本行和上一行的等号右侧改为816和624来解绑
  36.  
  37.     SceneManager.preferableRendererType = function() {
  38.         if (Utils.isOptionValid('canvas')) {
  39.             return 'canvas';
  40.         } else if (Utils.isOptionValid('webgl')) {
  41.             return 'webgl';
  42.         } else if (renderingMode === 'canvas') {
  43.             return 'canvas';
  44.         } else if (renderingMode === 'webgl') {
  45.             return 'webgl';
  46.         } else {
  47.             return 'auto';
  48.         }
  49.     };
  50.  
  51.     var _ConfigManager_applyData = ConfigManager.applyData;
  52.     ConfigManager.applyData = function(config) {
  53.         _ConfigManager_applyData.apply(this, arguments);
  54.         if (config['alwaysDash'] === undefined) {
  55.             this.alwaysDash = alwaysDash;
  56.         }
  57.     };
  58.  
  59.  
  60.     var _SceneManager_initNwjs = SceneManager.initNwjs;
  61.     SceneManager.initNwjs = function() {
  62.         _SceneManager_initNwjs.apply(this, arguments);
  63.  
  64.         if (Utils.isNwjs() && windowWidth && windowHeight) {
  65.             var dw = windowWidth - window.innerWidth;
  66.             var dh = windowHeight - window.innerHeight;
  67.             window.moveBy(-dw / 2, -dh / 2);
  68.             window.resizeBy(dw, dh);
  69.         }
  70.     };
  71. })();

作者: Feng020120    时间: 2022-11-20 10:36
本帖最后由 Feng020120 于 2022-11-20 10:38 编辑
小秋橙 发表于 2022-11-19 23:57
不知道你用什么插件改的分辨率,最好是官方自带的Community_Basic.js。
rpg_managers.js第1800行左右有以下 ...




谢谢大佬,刚试了一下,画面好像还是有点小问题...
作者: 蜜橘团子    时间: 2022-11-20 21:19
你这是mv吗?看起来很奇怪

我用得是GraphicalDesignMode这个插件,它不需要编程,只要开启插件里的开关后拖动位置就可以了 ,横键盘123456的数字键还可以改变窗口的长宽高字体,然后按ctrl+s保存
反正能给你这个窗口弄回去原来的分辨率那样,有很多人再用

但是要记得如果你用了yep的什么核心的话,里面也有类似的窗口自动大小功能,你找找看,得把它关掉,不然会影响
然后yep的核心改分辨率也是不错的,一下子就可以改成1080P




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1