设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3876|回复: 2
打印 上一主题 下一主题

[已经解决] 如何将默认文字颜色改成黑色

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
335
在线时间
195 小时
注册时间
2011-10-2
帖子
33
跳转到指定楼层
1
发表于 2011-10-2 16:08:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为最近做了一个图片对话框来代替系统对话框,可是发现一个囧事,那就是对话框的背景色是白色!而文字的颜色也是白色!这样文字就不见了……而且游戏也编了一段时间了,前面的对话特别多,我不可能挨个改成蓝色红色而且这也不正常……所以有办法将文字颜色改为黑色么?

Lv2.观梦者

(?????)

梦石
0
星屑
728
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

2
发表于 2011-10-2 16:13:49 | 只看该作者
本帖最后由 各种压力的猫君 于 2011-10-2 17:39 编辑

默认的白色换成黑色很简单,但是所有出现白色文字的地方都会变成黑色。
你是想要只有显示文章的白色变成黑色么?那么往下看
Window_Base 约35行,找到如下脚本:
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取文字色
  3.   #     n : 文字色编号 (0~8)
  4.   #--------------------------------------------------------------------------
  5.   def text_color(n)
  6.     case n
  7.     when 0
  8.       return Color.new(255, 255, 255, 255)
  9.     when 1
  10.       return Color.new(128, 128, 255, 255)
  11.     when 2
  12.       return Color.new(255, 128, 128, 255)
  13.     when 3
  14.       return Color.new(128, 255, 128, 255)
  15.     when 4
  16.       return Color.new(128, 255, 255, 255)
  17.     when 5
  18.       return Color.new(255, 128, 255, 255)
  19.     when 6
  20.       return Color.new(255, 255, 128, 255)
  21.     when 7
  22.       return Color.new(192, 192, 192, 255)
  23.     when 8
  24.       return Color.new(0, 0, 0, 255)
  25.     else
  26.       normal_color
  27.     end
  28.   end
复制代码
其中我加了一段(上面代码框中的第23-24行):
  1.     when 8
  2.       return Color.new(0, 0, 0, 255)
复制代码
颜色指定为你想要的,这样写是黑色,数值分别对应R,G,B,A(Alpha)。

然后Window_Message 约92行 找到如下脚本:
  1.       # c 获取 1 个字 (如果不能取得文字就循环)
  2.       while ((c = text.slice!(/./m)) != nil)
  3.         # \\ 的情况下
  4.         if c == "\000"
  5.           # 还原为本来的文字
  6.           c = "\\"
  7.         end
  8.         self.contents.font.color = text_color(8)
  9.         # \C[n] 的情况下
  10.         if c == "\001"
  11.           # 更改文字色
  12.           text.sub!(/\[([0-9]+)\]/, "")
  13.           color = $1.to_i
  14.           if color >= 0 and color <= 8
  15.             self.contents.font.color = text_color(color)
  16.           end
  17.           # 下面的文字
  18.           next
  19.         end
复制代码
其中我加了一行(上面代码框中的第8行):
  1. self.contents.font.color = text_color(8)
复制代码
修改了一行(上面代码框中的第14行):
  1.           if color >= 0 and color <= 8
复制代码
这里的8就是前面定义的数字了。
当然你可以在这里定义更多的数字,显示文章中通过\c[n]调用
这样修改之后,未使用\c[n]定义颜色的显示文章文字均会变为黑色。
(但是使用\c[0]定义的依然会变回白色,请注意。也就是说改变颜色之后想要恢复请使用\c[8])
使用了对话框加强类脚本的话,请自行在对话框加强脚本内部查找对以上两个类相应用法重定义的部分进行修改。
(第二个是在刷新段,即搜索“def refresh”)
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
335
在线时间
195 小时
注册时间
2011-10-2
帖子
33
3
 楼主| 发表于 2011-10-2 16:16:56 | 只看该作者
本帖最后由 各种压力的猫君 于 2011-10-3 00:27 编辑
各种压力的猫君 发表于 2011-10-2 16:13
默认的白色换成黑色很简单,但是所有出现白色文字的地方都会变成黑色。
你是想要只有显示文章的白色变成黑 ...


没错……囧,不然系统颜色就看不出来了囧……
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 16:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表