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

Project1

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

[已经解决] 如何引用在Window Base里定义的text_color函数

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
105 小时
注册时间
2016-4-3
帖子
78
跳转到指定楼层
1
发表于 2016-5-22 08:19:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在Window_Base里定义了text_color函数,我在自己写的插件里引用这个函数会报错,请问应该怎么引用,是不是要先class一下?我新学脚本,还望高手指导,谢谢了

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取文字色
  3.   #     n : 文字色编号 (0~7)
  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.     else
  24.       normal_color
  25.     end
  26.   end

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2016-5-22 08:48:37 | 只看该作者
这个方法定义在Window_Base内部,因此只能在Window_Base以及它的子类中使用,在别的类中无法使用。

要想在别的类里面也能使用这个方法,最简单的办法就是重新定义一遍。
RUBY 代码复制
  1. class A
  2.   def text_color(n)
  3.     case n
  4.     when 0
  5.       return Color.new(255, 255, 255, 255)
  6.     when 1
  7.       return Color.new(128, 128, 255, 255)
  8.     when 2
  9.       return Color.new(255, 128, 128, 255)
  10.     when 3
  11.       return Color.new(128, 255, 128, 255)
  12.     when 4
  13.       return Color.new(128, 255, 255, 255)
  14.     when 5
  15.       return Color.new(255, 128, 255, 255)
  16.     when 6
  17.       return Color.new(255, 255, 128, 255)
  18.     when 7
  19.       return Color.new(192, 192, 192, 255)
  20.     else
  21.       normal_color
  22.     end
  23.   end
  24. end

另外,不推荐生成一个Window_Base对象之后再通过这个对象调用。这是因为Window_Base类的对象会显示在屏幕当中,并且这样调用也不合逻辑。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
105 小时
注册时间
2016-4-3
帖子
78
3
 楼主| 发表于 2016-5-22 08:54:00 | 只看该作者
RyanBern 发表于 2016-5-22 08:48
这个方法定义在Window_Base内部,因此只能在Window_Base以及它的子类中使用,在别的类中无法使用。

要想在 ...

好的,谢谢您
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 10:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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