设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

求教关于对话文本不在对话框中间的问题

查看数: 497 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-2-20 01:50

正文摘要:

本帖最后由 juewuwanle 于 2024-2-20 01:50 编辑 刚入门RPGMakerMV,想做一个2D横向类的解密游戏。 先后使用了:GALV_MessageBusts、GALV_MessageBackground,两款插件美化了角色胸像和对话框, 但是在测试的 ...

回复

juewuwanle 发表于 2024-2-20 20:13:46
shiroin 发表于 2024-2-20 09:02
GALV_MessageBusts重写了newLineX方法,半身像脸图显示在左边时会自动修正文本的X轴位置,但你这个初始值这 ...

感谢大佬完美解决!
Arrose 发表于 2024-2-20 09:23:02
你好,因为ASDynamicMessageWindow是对整个对话框的位置和大小进行调整,所以不止是文字的位置会改变,不过MV的对话窗居然没有PX这个控制字符。
shiroin 发表于 2024-2-20 09:02:58
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修改,这样应该能解决问题
完全解决问题就得找到为什么你文本框窗口为什么不是居中的原因了……

点评

各种各样的闪烁是RPG maker的通病了,原因基本都可以归结于是画面处理先于指令处理,解决方法也只有预加载防范。不过文本闪烁我倒是第一次听说...  发表于 2024-2-20 10:35
大佬 我借着这个帖问个问题 我使用这个插件的时候 在文本在中间时再切换到下方后总感觉它多闪了一下,眼睛很难受,可有什么代码能取消闪烁o(╥﹏╥)o   发表于 2024-2-20 10:00
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-19 10:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表