Project1

标题: 为什么Window_Help不能调用Window_Base的文字颜色方法? [打印本页]

作者: zhangmdk    时间: 2012-12-10 00:21
标题: 为什么Window_Help不能调用Window_Base的文字颜色方法?
本帖最后由 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的方法?要如何写才行?
作者: 晴兰    时间: 2012-12-10 04:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: zhangmdk    时间: 2012-12-10 09:54
嗯,原因似乎就在于是写在Scene_Conscript_Base里的。
用这个方式就解决了:
@help_window.set_text(text,0,@help_window.crisis_color)





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1