Project1
标题:
物品栏选项框怎么修改大小和位置?
[打印本页]
作者:
雷影
时间:
2023-2-1 00:03
标题:
物品栏选项框怎么修改大小和位置?
研究了一下脚本找到这一段是控制这个的,可是不管怎么改后面的数字只有X坐标能改,其他Y坐标和窗口大小都没有变化!
Window_ItemCategory.prototype.initialize = function() {
Window_HorzCommand.prototype.initialize.call(this, 0, 0); //只有X轴有变化
};
20230131222312.png
(247.44 KB, 下载次数: 10)
下载附件
保存到相册
2023-2-1 00:01 上传
作者:
alexncf125
时间:
2023-2-1 00:59
本帖最后由 alexncf125 于 2023-2-1 01:05 编辑
y轴没变化的原因:
Scene_Item.prototype.createCategoryWindow = function() {
this._categoryWindow = new Window_ItemCategory();
this._categoryWindow.setHelpWindow(this._helpWindow);
this._categoryWindow.y = this._helpWindow.height;
this._categoryWindow.setHandler('ok', this.onCategoryOk.bind(this));
this._categoryWindow.setHandler('cancel', this.popScene.bind(this));
this.addWindow(this._categoryWindow);
};
窗口宽度在下一段
Window_ItemCategory.prototype.windowWidth = function() {
return Graphics.boxWidth;
};
窗口高度在父类
Window_HorzCommand.prototype.numVisibleRows = function() {
return 1;
};
再父类
Window_Command.prototype.windowHeight = function() {
return this.fittingHeight(this.numVisibleRows());
};
作者:
alexncf125
时间:
2023-2-1 14:05
本帖最后由 alexncf125 于 2023-2-1 14:09 编辑
是被这句控制的
Scene_ItemBase.prototype.showSubWindow = function(window) {
window.x = this.isCursorLeft() ? Graphics.boxWidth - window.width : 0;
window.show();
window.activate();
};
那么咱们可以写个插件, 判定了当前场景跟当前窗口后, 更改其xy位置
(function() {
var _Scene_ItemBase_showSubWindow = Scene_ItemBase.prototype.showSubWindow;
Scene_ItemBase.prototype.showSubWindow = function(window) {
_Scene_ItemBase_showSubWindow.call(this);
if (this instanceof Scene_Item && window instanceof Window_MenuActor) {
window.x = 100;
window.y = 100;
};
};
}());
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1