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

Project1

 找回密码
 注册会员
搜索

【插件】文字对话自动换行MZ版

查看数: 10146 | 评论数: 23 | 收藏 16
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-7-13 18:44

正文摘要:

本帖最后由 if216 于 2021-7-14 21:48 编辑 MZ都出了一年多了吧?我回来一看,这个还没有……论坛里有人要,于是就花十分钟在MV插件的基础上试出来了…… 原本想抛砖引玉,结果又花了一袋烟的功夫解决了一些b ...

回复

小黑要开心啊 发表于 2024-5-28 13:13:04
刚好用到,感谢
suesue12 发表于 2024-1-24 19:09:05
感谢分享!
我使用了这个但效果变成一行就一个字了,请问这个怎么解决呢?(间距0或者更多都显示不正常)
hanzhx 发表于 2024-1-17 21:48:49
好厉害,下来试试看。多谢分享。
xuechen19940302 发表于 2023-3-31 22:28:49
大佬我有问题想要请教!看见你的文字导入功能,连名称也可以导入!想请问是怎么做到的啊!
我每次用mz自带的大段文字导入功能,姓名栏总是不能导入,只能手动输入。
garfeng 发表于 2023-3-12 14:55:55
本帖最后由 garfeng 于 2023-3-12 15:14 编辑

稍微改了下

JAVASCRIPT 代码复制
  1. //=========================================================
  2. // 自动换行MZ
  3. //=========================================================
  4.  
  5. /*:
  6. * @plugindesc 这个花十分钟在MV插件的基础上改出来的
  7. * @author LCK & garfeng
  8. * @versionId 0.3
  9. *
  10. * @param alwaysFast
  11. * @desc 总是快速显示文字
  12. * @type boolean
  13. * @default false
  14. *
  15. *@help
  16. * 1. 在使用到该插件的作品中注明作者LCK(if216)
  17. * 2. 满足1的情况下,允许免费使用、商用该插件
  18. * 3. 不允许在除论坛原贴以外的地方发布该插件[url]https://rpg.blue/forum.php?mod=viewthread&tid=486345&page=1&extra=#pid2925358[/url]
  19. * 4. 可以自由修改,如要发布修改版,只能发布在我论坛原贴
  20. * 5. 以上使用条款,请原样保留在你的插件里
  21. */
  22.  
  23. (function() {
  24.     var parameters = PluginManager.parameters('自动换行MZ');
  25.     var alwaysFast =  parameters["alwaysFast"] == "true" || false;
  26.  
  27.     Window_Message.prototype.processCharacter = function(textState) {
  28.         const c = textState.text[textState.index++];
  29.  
  30.         if (c.charCodeAt(0) < 0x20) {
  31.             this.flushTextState(textState);
  32.             this.processControlCharacter(textState, c);
  33.         } else {
  34.             // 处理字符前,检测文本总宽度
  35.             const width = this.textWidth(textState.buffer + c);
  36.             const x = textState.x;
  37.  
  38.             const padding = this.padding + this.itemPadding();
  39.  
  40.             if( this.width - x - padding * 2 > width) {
  41.                 textState.buffer += c;
  42.             } else {
  43.                 this.flushTextState(textState);
  44.  
  45.                 // 超限则换行
  46.                 textState.index --;
  47.                 this.processNewLine(textState);
  48.  
  49.             }
  50.         }
  51.     };
  52.  
  53.     // 帮助窗口(物品、武器描述窗口)也需要自动换行
  54.     Window_Help.prototype.processCharacter = Window_Message.prototype.processCharacter;
  55.  
  56.     // 可选,是否总是快速显示文本
  57.     const Window_Message_prototype_clearFlags = Window_Message.prototype.clearFlags;
  58.     Window_Message.prototype.clearFlags = function() {
  59.         Window_Message_prototype_clearFlags.apply(this, arguments);
  60.         this._showFast = alwaysFast;
  61.     };
  62.  
  63. })();

评分

参与人数 1+1 收起 理由
越前リョーマ + 1 兼容visu好评

查看全部评分

13272303956 发表于 2023-2-7 15:44:43
谢谢大佬了。
kyoaan 发表于 2022-11-14 18:37:54
好像和TextPicture.js冲突了,不管放在TextPicture.js之前还是之后,会造成文字变图片失效
zhaojiabin 发表于 2022-7-18 09:56:10
你好,我用了这个插件发现无法进入游戏,报错
41workroom 发表于 2022-7-16 18:43:54
666大佬NB
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-7-19 12:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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