赞 | 4 |
VIP | 44 |
好人卡 | 11 |
积分 | 12 |
经验 | 54954 |
最后登录 | 2021-10-2 |
在线时间 | 1276 小时 |
Lv3.寻梦者 ○赛
- 梦石
- 0
- 星屑
- 1249
- 在线时间
- 1276 小时
- 注册时间
- 2013-1-22
- 帖子
- 2246
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 天地有正气 于 2014-6-18 14:20 编辑
教程目标:修改对话框大小 + 文字加粗功能
现在开始~
首先找到Window_Message第12行
super(80, 304, 480, 160)
说明一下,super是继承父类的语句。
通过一开始的“Window_Message < Window_Selectable”得到,
它的父类是Window_Selectable。
在Window_Selectable20~26行找到了想要的东西。
于是我们就知道了,这里的super括号里的四个参数是x,y,width,height。
x => x坐标 y => y坐标 width => 宽度 height => 高度
跳回Window_Message第12行。
经常遇到文字显示不全的情况,我们可以把这个值做一些修改。
变成super(60, 304, 520, 160)。这样应该就不会出现文字显示不全的状况了。
接着往下看,找到
# 为了方便、将 "\\\\" 变换为 "\000"
text.gsub!(/\\\\/) { "\000" }
# "\\C" 变为 "\001" 、"\\G" 变为 "\002"
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
text.gsub!(/\\[Gg]/) { "\002" }
不难猜出,这就是\c,\g这些东西。
于是我们照着这个也写一些。
text.gsub!(/\\[Bb]/) { "\003" }
然后往下拉一点点,找到这段。
# \G 的情况下
if c == "\002"
# 生成金钱窗口
if @gold_window == nil
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
# 下面的文字
next
end
然后可以再仿照着写一段了。
# \B 的情况下
if c == "\003"
self.contents.font.bold = true
next
end
当然,这还不够。需要在前面在添加一个功能来关闭加粗,这就作为课后作业吧!
(下面是本节问答)
问:那个text.gsub!是干什么的?
答:text就是显示文章里的文字,gsub!是String类(字符串的类)的方法。
用法在F1里有。是替换文字的。(具有破坏性,所以后面有!)
问:为什么写“self.contents.font.bold = true”就是加粗?
答:self.contents是Bitmap类的实例(在一开始生成的)font是Bitmap类的属性。
font是Font类的实例,在F1里面查看Font类就知道bold是加粗了。
|
|