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

Project1

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

[已经解决] 如何改變Window_Message字的顏色

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2016-1-7
帖子
129
跳转到指定楼层
1
发表于 2016-5-31 23:34:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想使所有的文字都是黑色,希望可以不透過每一個對話自加\c[]的方式來改
參考過 怎么更改标题画面以及菜单栏的字体颜色?
裡面提供了這樣的作法
自定義腳本

在改換Title和存讀檔的字體顏色上我都成功更換了,只有遊戲裡的文字顯示我怎麼改都改不了

我想這個應該是關於Window_Message,所以我自定義一個 class Window_Msg < Window_Message 內容同上的東西
去Scene_Map把Window_Message換成Window_Msg,無效
所以我又嘗試去Window_Base改def normal_color制定的顏色
為了以防萬一,Window_Message裡的 self.contents.font.color = normal_color 我也改成了 self.contents.font.color = Color.new(0, 0, 0, 255)
我外掛的"文字顯示強化"也做了關於normal_color的改動

全局搜索過 "normal"和"Message"兩個關鍵字看過,沒有發現我認為會影響的地方有漏掉
所以想請問到底應該要改些什麼?

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
2
发表于 2016-6-1 14:56:33 | 只看该作者
#--------------------------------------------------------------------------
  # ● 获取文字色
  #     n : 文字色编号 (0~7)
  #--------------------------------------------------------------------------
  def text_color(n)
    case n
    when 0
      return Color.new(255, 255, 255, 255)
    when 1
      return Color.new(128, 128, 255, 255)
    when 2
      return Color.new(255, 128, 128, 255)
    when 3
      return Color.new(128, 255, 128, 255)
    when 4
      return Color.new(128, 255, 255, 255)
    when 5
      return Color.new(255, 128, 255, 255)
    when 6
      return Color.new(255, 255, 128, 255)
    when 7
      return Color.new(192, 192, 192, 255)
    else
      normal_color
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取普通文字色
  #--------------------------------------------------------------------------
  def normal_color
    return Color.new(255, 255, 255, 255)
  end

点评

這是Window_Base裡對 normal_color的定義嗎?如果是那我已經嘗試過,無效。  发表于 2016-6-1 21:27
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2016-1-7
帖子
129
3
 楼主| 发表于 2016-6-7 22:32:15 | 只看该作者
過了一個禮拜感覺可以再自頂一次0a0
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

4
发表于 2016-6-8 14:05:59 | 只看该作者
本帖最后由 cinderelmini 于 2016-6-9 13:57 编辑
  1. def normal_color; return Color.new(0, 0, 0); end
复制代码
这行放在【Window_Message】里面最后一个end之前任一空行。

请在默认工程里尝试,如果使用了其他相关的外挂脚本,最好提供相关内容,
默认工程里这样是没问题的,其他的窝是不知道了……
顺便放个饭粒: 对话框文字颜色.zip (201.15 KB, 下载次数: 53)

点评

默认工程并没有问题~  发表于 2016-6-9 13:58
還是沒有效果。無關乎 ; 的原因(這個腳本語言似乎不需要;)  发表于 2016-6-9 02:04

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2016-1-7
帖子
129
5
 楼主| 发表于 2016-6-9 21:25:41 | 只看该作者
本帖最后由 燕征 于 2016-6-9 21:30 编辑

應該確實是我外掛的"文字顯示強化"腳本影響的。

之前已經試著把裡面refresh用到normal_color的地方換成了Color.new(0, 0, 0, 255)
後面也有試著把
RUBY 代码复制
  1. def normal_color; return Color.new(0, 0, 0); end
放進去,但是死活沒有反應
我看大大的範本確實是可以的,然後把用到的這個外掛放下去就打回原形

"文字顯示強化"連同變動以放入附上的工程中,下面另收外掛腳本
def normal_color; return Color.new(0, 0, 0); end在 line 8
refresh用到的self.contents.font.color = normal_color以註解方式在 line 57
改為self.contents.font.color = Color.new(0, 0, 0, 255)在line 58

文字顯示強化

對話框文字顏色.rar

196.47 KB, 下载次数: 43

回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

6
发表于 2016-6-10 15:04:44 | 只看该作者
本帖最后由 cinderelmini 于 2016-6-12 15:13 编辑
燕征 发表于 2016-6-9 21:25
應該確實是我外掛的"文字顯示強化"腳本影響的。

之前已經試著把裡面refresh用到normal_color的地方換成了C ...


把重定义normal_color那句放进Window_Message类之后,
文字绘制强化脚本其他地方不用改,只改下面这个方法:

给上面这个方法加了两处文字颜色改变(行末有备注)

分割线


或者你可以在【文字顯示強化】里面的【reset_window】方法里找到:
  1. self.contents = Bitmap.new(self.width - 32, self.height - 32)
复制代码
然后在它下面加上:
  1. self.contents.font.color = normal_color
复制代码
因为这个窗口里的Bitmap实例对象self.contents在这里被重建了,
然后这个Bitmap里的Font的所有属性都是新的(也就是默认的,color是Color.new(255, 255, 255, 255)),
而这个方法在refresh方法内部使用,
且refresh设定Font字号和颜色的句子在方法开头,而reset_window在这之后,
所以导致前面设定的Font属性是无效的。

点评

了解!謝謝大大解說!  发表于 2016-6-12 18:25
见本楼分割线以下的部分。  发表于 2016-6-12 15:16
color提到的The default is (255,255,255,255).?但為何他不是直接使用繼承自Window_Message的normal_color而要特別再設定target的color?  发表于 2016-6-12 01:31
工程里按F1,点【索引】页,列表里找到【Font】打开,内容页里往下滚动,找到【color】说明……  发表于 2016-6-11 15:26
謝謝大大,這樣已經可以達成需求了。但想細問為何還要特別指定target顏色?原來不只定的話他難道就不是用默認的normal_color嗎?  发表于 2016-6-11 14:22
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 09:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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