赞 | 33 |
VIP | 0 |
好人卡 | 0 |
积分 | 17 |
经验 | 0 |
最后登录 | 2024-9-14 |
在线时间 | 126 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1718
- 在线时间
- 126 小时
- 注册时间
- 2019-1-4
- 帖子
- 110
|
有人问yep的信息核心自动换行的事
这个修改改了单词换行(drill翻译的那个不对,那个就是普通的是否自动换行)
把这一段放到插件里
Yanfly.RegExp = new RegExp("[\u4E00-\u9FA5]+");
function checkStringIsChinese(str) {
var pattern = Yanfly.RegExp;
if (pattern.test(str)) {
return true;
}
return false;
}
然后把这个两个函数覆盖成这样
Yanfly.Message.Window_Base_processNormalCharacter =
Window_Base.prototype.processNormalCharacter;
Window_Base.prototype.processNormalCharacter = function(textState) {
var textState2 = textState;
if (this.checkWordWrap(textState2)) return this.processNewLine(textState2);
Yanfly.Message.Window_Base_processNormalCharacter.call(this, textState);
};
Window_Base.prototype.checkWordWrap = function(textState) {
if (!textState) return false;
if (!this._wordWrap) return false;
if (textState.text[textState.index] === ' ' || checkStringIsChinese(textState.text[textState.index])) {
var nextSpace = textState.text.indexOf(',', textState.index + 1);
nextSpace = Math.min(nextSpace,textState.text.indexOf(',', textState.index + 1));
nextSpace = Math.min(nextSpace,textState.text.indexOf('。', textState.index + 1));
nextSpace = Math.min(nextSpace,textState.text.indexOf(' ', textState.index + 1));
var nextBreak = textState.text.indexOf('\n', textState.index + 1);
if (nextSpace < 0) nextSpace = textState.text.length + 1;
if (nextBreak > 0) nextSpace = Math.min(nextSpace, nextBreak);
nextSpace = textState.index+1;
if( !checkStringIsChinese(textState.text[textState.index+1]) ) nextSpace = textState.index+3;
var word = textState.text.substring(textState.index, nextSpace);
var size = this.textWidthExCheck(word);
}
return (size + textState.x > this.wordwrapWidth());
};
Window_Base.prototype.wordwrapWidth = function(){
return this.contents.width-48;////-48根据需求修改,修改的换行宽度,一般-48挺好的
};
|
|