查看: 8436|回复: 6

[已经解决] 求插件,文字居中 与 选项美化

[复制链接]
梦石
0
星屑
29220
在线时间
1535 小时
注册时间
2006-1-10
回帖
1898

开拓者第一届地图绘制大赛RTP组第四名

发表于 2016-1-21 12:59:38 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 king 于 2016-1-23 12:44 编辑

请大家帮忙解决 有选项美化插件吗?

1.物品帮助的文字居中显示, 如何修改? 默认都是左边

2.选项美化效果, 窗口中的选项被选中的话,是白色,除此以外为灰色(能自定义选项文字的颜色样式)

jpp.jpg

MV帮助 http://miaowm5.github.io/RMMV-F1/日复一日,年复一年人还是保留一点自我兴趣的好啊~~~忘记过去 ,这样我就可以  放弃未来了……哭~~终于找回以前的头像了,哎~~原来我是那么的想念阿……
画地图没灵感?很烦?很无聊 【 戳 我 】一 大 波 地 图 在 等 你  \^0^/
我的游戏
梦石
0
星屑
50
在线时间
48 小时
注册时间
2010-10-26
回帖
15
发表于 2016-1-22 13:50:45 | 显示全部楼层
Window_Base.prototype.drawText = function(text, x, y, maxWidth, align) {
    this.contents.drawText(text, x, y, maxWidth, this.lineHeight(), align);
};
修改align参数即可,可修改为"left","center","right"

点评

具体怎么使用?请指教  发表于 2016-1-22 23:28
回复

使用道具 举报

梦石
0
星屑
29220
在线时间
1535 小时
注册时间
2006-1-10
回帖
1898

开拓者第一届地图绘制大赛RTP组第四名

 楼主| 发表于 2016-1-22 22:27:47 | 显示全部楼层
BBB 发表于 2016-1-22 13:50
Window_Base.prototype.drawText = function(text, x, y, maxWidth, align) {
    this.contents.drawText( ...

具体如何使用,我直接当插件用,效果比较混乱! 说明窗口文件也没居中

修改, Window_Base  和 Window_Help  也没效果
5pppprhty.jpg

能直接修改 Window_Help的插件吗?

[pre lang="javascript" file="Window_Help"]//-----------------------------------------------------------------------------
// Window_Help
//
// The window for displaying the description of the selected item.

function Window_Help() {
    this.initialize.apply(this, arguments);
}

Window_Help.prototype = Object.create(Window_Base.prototype);
Window_Help.prototype.constructor = Window_Help;

Window_Help.prototype.initialize = function(numLines) {
    var width = Graphics.boxWidth;
    var height = this.fittingHeight(numLines || 2);
    Window_Base.prototype.initialize.call(this, 0, 0, width, height,'center');
    this._text = '';
};

Window_Help.prototype.setText = function(text) {
    if (this._text !== text) {
        this._text = text;
        this.refresh();
    }
};

Window_Help.prototype.clear = function() {
    this.setText('');
};

Window_Help.prototype.setItem = function(item) {
    this.setText(item ? item.description : '');
};

Window_Help.prototype.refresh = function() {
    this.contents.clear();
    this.drawTextEx(this._text, this.textPadding(),  1);
};
[/pre]
MV帮助 http://miaowm5.github.io/RMMV-F1/日复一日,年复一年人还是保留一点自我兴趣的好啊~~~忘记过去 ,这样我就可以  放弃未来了……哭~~终于找回以前的头像了,哎~~原来我是那么的想念阿……
画地图没灵感?很烦?很无聊 【 戳 我 】一 大 波 地 图 在 等 你  \^0^/
我的游戏
回复

使用道具 举报

梦石
0
星屑
50
在线时间
48 小时
注册时间
2010-10-26
回帖
15
发表于 2016-1-23 01:22:26 | 显示全部楼层
直接在你的插件里加入这段代码即可居中
Window_Base.prototype.drawText = function(text, x, y, maxWidth, align) {
    this.contents.drawText(text, x, y, maxWidth, this.lineHeight(), "center");
};

往右对其只需要将center修改为right

点评

物品帮助的文字居中显示,你这个脚本测试无效……依然在左边显示  发表于 2016-1-23 12:43
回复

使用道具 举报

梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
回帖
81
发表于 2016-1-23 14:02:22 | 显示全部楼层

与菜单按钮等的文字处理不同,
由于游戏开发者输入的描述文字长短不一,
而且可能用到各种符号,又或者需要换行等等,
所以帮助窗口的文字和对话框的文字一样、需要计算转义符,
而且是逐个字去计算显示的位置,
从MV默认的'left' 到 'right' 大概就预留了100像素以内的移位,
所以MV自带的文字对齐功能效果并不明显。如果要让显示效果明显,
那需要对每一个帮助窗口的每一个字的 textState.x 坐标进行修正,包括标点符号。
所以.......  
最后,改帮助窗口文字的默认位置,会直接影响对话框的文字显示。
如果楼主觉得都可以接受,那可以打开 rpg_windows,js 找到:
Window_Base.prototype.processNormalCharacter
在函数drawText一行的右边 height 后面(右括号内),加一个逗号,输入'right',
保存脚本然后查看结果。你会发现,有一点变化,但几乎没什么效果。
然后,也可以在参数 textState.x 后面输入 "+100"(不带引号),再看效果...
fdd.jpg

MLC_MuneText.rar (860 Bytes, 下载次数: 133)


评分

参与人数 1星屑 +120 收起 理由
king + 120 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
29220
在线时间
1535 小时
注册时间
2006-1-10
回帖
1898

开拓者第一届地图绘制大赛RTP组第四名

 楼主| 发表于 2016-1-23 19:34:50 | 显示全部楼层
本帖最后由 king 于 2016-1-23 19:54 编辑
在野月光 发表于 2016-1-23 14:02
与菜单按钮等的文字处理不同,
由于游戏开发者输入的描述文字长短不一,
而且可能用到各种符号,又或者需 ...


非常感谢! 选项效果很不错!
如果设置文字透明度,怎么弄?

物品选项,例如: 蚯蚓    :1  
能设置成这样效果吗?
选择被选中的话,是白色,除此以外为半透明
MV帮助 http://miaowm5.github.io/RMMV-F1/日复一日,年复一年人还是保留一点自我兴趣的好啊~~~忘记过去 ,这样我就可以  放弃未来了……哭~~终于找回以前的头像了,哎~~原来我是那么的想念阿……
画地图没灵感?很烦?很无聊 【 戳 我 】一 大 波 地 图 在 等 你  \^0^/
我的游戏
回复

使用道具 举报

梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
回帖
81
发表于 2016-1-23 21:11:38 | 显示全部楼层
这.....
虽然菜单中物品选项允许玩家键盘鼠标上下左右的选,
但实际上,MV是将全部物品名称都写到同一块底板上的,
然后关联了鼠标键盘操控而已。
我们要弄透明度,实际上就是让这块底板透明,从而影响文字也透明。
换言之,就是要么全部都半透明,要么全部看得见。
如果非要一行看得见,其他看不清,
那就得把清晰的那行字写到另一块板子上对原板进行遮盖,
那要重新计算坐标布局,层主就折腾不起了...
或者楼主自己研究一下吧。
脚本位置: rpg_windows.js
Window_ItemList.prototype.drawItem = function(index)

点评

感谢你耐心的解答!不过我不知道怎么操作 认可答案……等版主  发表于 2016-1-23 22:12

评分

参与人数 2星屑 +120 梦石 +1 收起 理由
余烬之中 + 1 认可答案
king + 120 辛苦了~~感谢

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部