查看: 2058|回复: 2

[已经解决] 为什么Window_Help不能调用Window_Base的文字颜色方法?

[复制链接]
梦石
0
星屑
50
在线时间
40 小时
注册时间
2005-12-30
回帖
28
发表于 2012-12-10 00:21:04 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 zhangmdk 于 2012-12-10 09:54 编辑

我想在HELP窗口调用文字颜色以显示不同颜色的提示内容,但系统自带HELP窗口类不带设置颜色功能,于是我重写了一个
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #==============================================================================

  6. class Window_Help < Window_Base

  7.   #--------------------------------------------------------------------------
  8.   # ● 设置带颜色文字
  9.   #  text  : 显示于窗口内的字符串
  10.   #  align : 对其 (0..靠左对齐, 1..居中对齐, 2..靠右对齐)
  11.   #  set_color
  12.   #--------------------------------------------------------------------------
  13.   def set_text(text, align = 0, set_color=normal_color)
  14.     if text != @text or align != @align
  15.       self.contents.clear
  16.       self.contents.font.color = set_color
  17.       self.contents.draw_text(4, 0, self.width - 40, WLH, text, align)
  18.       @text = text
  19.       @align = align
  20.     end
  21.   end
  22.   
  23. end
复制代码
但我在实际调用时却发现无法使用Window_Base自带的系统颜色功能。
我是这么调用的:
@help_window.set_text(text,0,crisis_color)

结果出错:
NameError :未定义的本地变量或方法。
#<Scene_Conscript_Base:0x......>

crisis_color换成textcolor(0)的方法也是一样出错。

Window_Help不是继承Window_Base么,应该是继承那些方法了啊?为何无法使用呢?
是不是因为我在其他的Scene里调用所以不是使用的Window_Base的方法?要如何写才行?
头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

发表于 2012-12-10 04:36:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
40 小时
注册时间
2005-12-30
回帖
28
 楼主| 发表于 2012-12-10 09:54:33 | 显示全部楼层
嗯,原因似乎就在于是写在Scene_Conscript_Base里的。
用这个方式就解决了:
@help_window.set_text(text,0,@help_window.crisis_color)
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部