赞 | 2 |
VIP | 0 |
好人卡 | 3 |
积分 | 2 |
经验 | 13868 |
最后登录 | 2019-10-20 |
在线时间 | 208 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 151
- 在线时间
- 208 小时
- 注册时间
- 2012-7-10
- 帖子
- 170
|
最近也刚好在做这个,可以给楼主分享一下我的做法
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
|
评分
-
查看全部评分
|