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

Project1

 找回密码
 注册会员
搜索
查看: 5327|回复: 6
打印 上一主题 下一主题

[有事请教] 如何增加物品与技能说明栏的大小

[复制链接]

Lv1.梦旅人

梦石
0
星屑
151
在线时间
208 小时
注册时间
2012-7-10
帖子
170
1
发表于 2019-7-17 00:20:59 | 显示全部楼层
最近也刚好在做这个,可以给楼主分享一下我的做法
2楼说的var height = this.fittingHeight(numLines || 2); 基本就是看初始化的时候有没有设置行数,没有的话就默认设2行
尽量规避改这个基盘这里的话,就修改js文件夹下的rpg_scenes.js
1)战斗画面的说明栏,注释部分里把Window_Help括号里的数字改掉,是几就是几行文字的高度,目前看有影响的就是战斗时物品和技能还有选择敌人的框会有影响
Scene_Battle.prototype.createHelpWindow = function() {
        //说明栏高度调整 start
    this._helpWindow = new Window_Help(3);
        //说明栏高度调整 end
    this._helpWindow.visible = false;
    this.addWindow(this._helpWindow);
};

2)菜单画面的说明栏,注释部分里把Window_Help括号里的数字改掉,是几就是几行文字的高度,目前看有影响的就是物品和技能还有装备的框会有影响
Scene_MenuBase.prototype.createHelpWindow = function() {
        //说明栏高度调整 start
    this._helpWindow = new Window_Help(3);
        //说明栏高度调整 end

这样的话,框是ok了,但是rpg maker mv这个编辑器自身只支持输入两行内容,并且一行内容过长也不会自动换行。
我目前解决办法是通过输入内容里加\n来进行换行,介于基盘的js里有替换特殊字符的处理,
所以还是需要稍微改一下基盘那边。

js文件夹下rpg_windows.js
1)在初始的变换处理前追加我们需要的把换行符号替换成一个不怎么用的字符
Window_Base.prototype.convertEscapeCharacters = function(text) {
        //换行符号变换 start
        text = text.replace(/\\n/g, '●');
        //换行符号变换 end
        text = text.replace(/\\/g, '\x1b');

2)将变换后的字符输出为换行
Window_Base.prototype.processCharacter = function(textState) {
在default:前一行追加下面内容
//改行符特殊对应 start
        case '●':
                this.processNewLine(textState);
                break;
        //改行符特殊对应 end

TIM截图20190717011131.png (212.19 KB, 下载次数: 27)

TIM截图20190717011131.png

点评

不错!太感谢了  发表于 2021-1-15 10:28

评分

参与人数 2+2 收起 理由
TaniyamaMinami + 1 认可答案
79160475 + 1 精品文章

查看全部评分

事件只会越用越熟,在用脚本前想想能否能用事件简便处理
回复 支持 4 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-5-12 15:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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