Project1

标题: 求教关于对话文本不在对话框中间的问题 [打印本页]

作者: juewuwanle    时间: 2024-2-20 01:50
标题: 求教关于对话文本不在对话框中间的问题
本帖最后由 juewuwanle 于 2024-2-20 01:50 编辑

刚入门RPGMakerMV,想做一个2D横向类的解密游戏。

先后使用了:GALV_MessageBusts、GALV_MessageBackground,两款插件美化了角色胸像和对话框,
但是在测试的时候遇到了右侧胸像说话时,文本会左侧置顶显示的问题。
尝试使用了ASDynamicMessageWindow插件解决问题,无果...所以来这边寻求帮助!
PS:ASDynamicMessageWindow会把文本和胸像一起编辑,不知道如何只移动文本部分。
作者: shiroin    时间: 2024-2-20 09:02
GALV_MessageBusts重写了newLineX方法,半身像脸图显示在左边时会自动修正文本的X轴位置,但你这个初始值这么靠左是挺奇怪的,光看图片是看不出问题出在哪,只能看出你这个文本框的窗口创建时位置就歪了
不过既然半身像脸图在左边时文本位置是正常的,也有一个妥协的办法去修复,就是把newLineX方法的默认值修改成一样的数值,这样不管脸图出现在左边还是右边,文本框位置始终都是一致的:
  1.         Galv.MB.Window_Message_newLineX = Window_Message.prototype.newLineX;
  2.         Window_Message.prototype.newLineX = function() {
  3.                 if ($gameSystem.bustDisable) {
  4.                         return Galv.MB.Window_Message_newLineX.call(this);
  5.                 } else if ($gameMessage.faceName() && Galv.MB.prio == 1 && $gameMessage._positionType == 2 && $gameSystem.bustPos == 0) {
  6.                         return $gameMessage.bustOffset;
  7.                 } else {
  8.                         return $gameMessage.bustOffset; // 原本是0,现在无论脸图出现在哪都会让文本框处于一致的位置
  9.                 };
  10.         };
复制代码


打开GALV_MessageBusts.js文件,在大概312行的位置能找到这个方法,按我的示例把原本那个return 0修改,这样应该能解决问题
完全解决问题就得找到为什么你文本框窗口为什么不是居中的原因了……
作者: Arrose    时间: 2024-2-20 09:23
你好,因为ASDynamicMessageWindow是对整个对话框的位置和大小进行调整,所以不止是文字的位置会改变,不过MV的对话窗居然没有PX这个控制字符。
作者: juewuwanle    时间: 2024-2-20 20:13
shiroin 发表于 2024-2-20 09:02
GALV_MessageBusts重写了newLineX方法,半身像脸图显示在左边时会自动修正文本的X轴位置,但你这个初始值这 ...

感谢大佬完美解决!





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