本帖最后由 garfeng 于 2023-3-12 15:14 编辑
稍微改了下
//========================================================= // 自动换行MZ //========================================================= /*: * @plugindesc 这个花十分钟在MV插件的基础上改出来的 * @author LCK & garfeng * @versionId 0.3 * * @param alwaysFast * @desc 总是快速显示文字 * @type boolean * @default false * *@help * 1. 在使用到该插件的作品中注明作者LCK(if216) * 2. 满足1的情况下,允许免费使用、商用该插件 * 3. 不允许在除论坛原贴以外的地方发布该插件[url]https://rpg.blue/forum.php?mod=viewthread&tid=486345&page=1&extra=#pid2925358[/url] * 4. 可以自由修改,如要发布修改版,只能发布在我论坛原贴 * 5. 以上使用条款,请原样保留在你的插件里 */ (function() { var parameters = PluginManager.parameters('自动换行MZ'); var alwaysFast = parameters["alwaysFast"] == "true" || false; Window_Message.prototype.processCharacter = function(textState) { const c = textState.text[textState.index++]; if (c.charCodeAt(0) < 0x20) { this.flushTextState(textState); this.processControlCharacter(textState, c); } else { // 处理字符前,检测文本总宽度 const width = this.textWidth(textState.buffer + c); const x = textState.x; const padding = this.padding + this.itemPadding(); if( this.width - x - padding * 2 > width) { textState.buffer += c; } else { this.flushTextState(textState); // 超限则换行 textState.index --; this.processNewLine(textState); } } }; // 帮助窗口(物品、武器描述窗口)也需要自动换行 Window_Help.prototype.processCharacter = Window_Message.prototype.processCharacter; // 可选,是否总是快速显示文本 const Window_Message_prototype_clearFlags = Window_Message.prototype.clearFlags; Window_Message.prototype.clearFlags = function() { Window_Message_prototype_clearFlags.apply(this, arguments); this._showFast = alwaysFast; }; })();
//=========================================================
// 自动换行MZ
//=========================================================
/*:
* @plugindesc 这个花十分钟在MV插件的基础上改出来的
* @author LCK & garfeng
* @versionId 0.3
*
* @param alwaysFast
* @desc 总是快速显示文字
* @type boolean
* @default false
*
*@help
* 1. 在使用到该插件的作品中注明作者LCK(if216)
* 2. 满足1的情况下,允许免费使用、商用该插件
* 3. 不允许在除论坛原贴以外的地方发布该插件[url]https://rpg.blue/forum.php?mod=viewthread&tid=486345&page=1&extra=#pid2925358[/url]
* 4. 可以自由修改,如要发布修改版,只能发布在我论坛原贴
* 5. 以上使用条款,请原样保留在你的插件里
*/
(function() {
var parameters = PluginManager.parameters('自动换行MZ');
var alwaysFast = parameters["alwaysFast"] == "true" || false;
Window_Message.prototype.processCharacter = function(textState) {
const c = textState.text[textState.index++];
if (c.charCodeAt(0) < 0x20) {
this.flushTextState(textState);
this.processControlCharacter(textState, c);
} else {
// 处理字符前,检测文本总宽度
const width = this.textWidth(textState.buffer + c);
const x = textState.x;
const padding = this.padding + this.itemPadding();
if( this.width - x - padding * 2 > width) {
textState.buffer += c;
} else {
this.flushTextState(textState);
// 超限则换行
textState.index --;
this.processNewLine(textState);
}
}
};
// 帮助窗口(物品、武器描述窗口)也需要自动换行
Window_Help.prototype.processCharacter = Window_Message.prototype.processCharacter;
// 可选,是否总是快速显示文本
const Window_Message_prototype_clearFlags = Window_Message.prototype.clearFlags;
Window_Message.prototype.clearFlags = function() {
Window_Message_prototype_clearFlags.apply(this, arguments);
this._showFast = alwaysFast;
};
})();
|