Project1

标题: 怎么改变战斗窗口位置? [打印本页]

作者: mingmeng    时间: 2019-10-7 13:55
标题: 怎么改变战斗窗口位置?
只想改变一下窗口位置,用MOG插件太花哨了。有什么方法或插件吗?
如图

作者: duoduo1009215    时间: 2019-10-7 17:40
本帖最后由 duoduo1009215 于 2019-10-7 17:41 编辑

修改窗口位置的代码都在rpg_windows.js里,战斗选项窗口的类名叫Window_ActorCommand,修改该类中的initialize函数可以调整窗口的位置,其他所有窗口都类似。
按你图中的箭头要求的位置,可以这么修改:
Window_ActorCommand.prototype.initialize = function() {
    var y = Graphics.boxHeight - this.windowHeight() * 2;       //Graphics.boxHeight和Graphics.boxWidth分别表示游戏窗口的宽和长。
    var x = Graphics.boxWidth / 2;
    Window_Command.prototype.initialize.call(this, x, y);        //this后面的参数有x,y,width,height,这里width和height省略了,x和y参数决定了窗口左上角的位置
    this.openness = 0;
    this.deactivate();
    this._actor = null;
};

作者: mingmeng    时间: 2019-10-8 08:58
duoduo1009215 发表于 2019-10-7 17:40
修改窗口位置的代码都在rpg_windows.js里,战斗选项窗口的类名叫Window_ActorCommand,修改该类中的initial ...

谢谢!终于解决了。
作者: mingmeng    时间: 2019-10-8 21:05
又出现新的问题了,改完之后原本显示角色状态的窗口仍然在移动,具体如下图

怎么让它一直在中间,不移动?
作者: duoduo1009215    时间: 2019-10-8 22:14
mingmeng 发表于 2019-10-8 21:05
又出现新的问题了,改完之后原本显示角色状态的窗口仍然在移动,具体如下图

怎么让它一直在中间,不移动? ...

第一步先把rpg_windows中BattleStatus窗口的默认位置调到中间:
Window_BattleStatus.prototype.initialize = function() {
    var width = this.windowWidth();
    var height = this.windowHeight();
    var x = (Graphics.boxWidth - width)/2;
    var y = Graphics.boxHeight - height;
    Window_Selectable.prototype.initialize.call(this, x, y, width, height);
    this.refresh();
    this.openness = 0;
};
第二步打开rpg_scenes.js,把以下函数内的内容删除或注释掉:
Scene_Battle.prototype.updateWindowPositions = function() {

};




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