你好!我同时使用了 Yanfly 的战斗引擎核心插件和 Mog 的战斗 HUD 插件。目前遇到的问题是小队精灵显示在我用 Mog 插件制作的战斗菜单之上。我希望小队精灵能显示在 HUD 后面。我尝试过在插件管理器中调整插件的加载顺序,但并没有解决问题。
有没有办法让战斗核心插件在小队精灵加载后再加载 HUD,或者有没有办法让战斗 HUD 在小队精灵加载完成后再加载?我附上了一张图片以展示当前的效果。每个角色后面的剪影是我希望在最终设计中呈现的精灵样式。
你好!我同时使用了 Yanfly 的战斗引擎核心插件和 Mog 的战斗 HUD 插件。目前遇到的问题是小队精灵显示在我用 Mog 插件制作的战斗菜单之上。我希望小队精灵能显示在 HUD 后面。我尝试过在插件管理器中调整插件的加载顺序,但并没有解决问题。
有没有办法让战斗核心插件在小队精灵加载后再加载 HUD,或者有没有办法让战斗 HUD 在小队精灵加载完成后再加载?我附上了一张图片以展示当前的效果。每个角色后面的剪影是我希望在最终设计中呈现的精灵样式。
在前视图中,MOG_BattleHud 会构建自身的行为者精灵副本,并在 HUD 面板已经就位后将其放入 HUD 容器中。最后添加的子元素会显示在最上层,因此精灵会覆盖在面板之上。这一切都发生在 MOG 自身的代码内部,因此插件管理器中的顺序调整也无法改变这一行为。
我认为可能需要一个小补丁插件来解决这个问题。将此代码保存为独立的 .js 文件,放置在 js/plugins 目录下,并在插件列表中将其置于 MOG_BattleHud 之下。该插件会将 HUD 组件重新添加在精灵之后,从而使面板显示在最上层:
//=============================================================================
// BattlerBehindHud.js
//=============================================================================
(function() {
var _createBattleHudSB = Scene_Battle.prototype.createBattleHudSB;
Scene_Battle.prototype.createBattleHudSB = function() {
_createBattleHudSB.call(this);
if (this._screen_layout) {
this._hudField.addChild(this._screen_layout);
}
if (this._battle_hud) {
for (var i = 0; i < this._battle_hud.length; i++) {
this._hudField.addChild(this._battle_hud[i]);
}
}
};
})();
我是基于 MOG_BattleHud v5.04f 进行查看的,因此如果你的版本较旧,函数名称可能不一致。
非常感谢!!这个插件运行完美,没有它我都不知道该怎么办了。你真是帮了大忙!
很高兴听到它起作用了!