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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 雷影
打印 上一主题 下一主题

[已经解决] 求这段代码的正确写法!!

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7446
在线时间
1098 小时
注册时间
2006-7-18
帖子
570
11
 楼主| 发表于 2015-5-8 11:32:10 | 只看该作者
cinderelmini 发表于 2015-5-8 10:57
就这样直接用,都是父类Window_Base里面的方法。
此外模块内模块的样式没用过,大概应该是这样用吧?
弹错 ...


谢谢了!你这方法是文字颜色都固定了!!
我只是想让佣兵等级的字母变色而已,研究了半天已经搞定了!!
放上完整代码,有谁需要的也可以用用。
RUBY 代码复制
  1. #==============================================================================
  2. # F10 - 变量窗口 - By芙蕾娅   
  3. #------------------------------------------------------------------------------
  4. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
  5. #==============================================================================
  6.  
  7. #==============================================================================
  8. #佣兵等级,积分显示窗口  By 雷影
  9. #代码来自芙蕾娅变量窗口的改写!
  10. #==============================================================================
  11. module Freya
  12.   # 初始游戏时是否显示窗口
  13.   BeginShow = false
  14.   # 变量ID
  15.   WindowVariableID = 60   
  16.   #$game_system.variable_show = true
  17.   # 为显示进度窗口,要关闭则设把true设为false
  18.  
  19. end
  20. #==============================================================================
  21. # ■ Game_System
  22. #------------------------------------------------------------------------------
  23. #  处理系统附属数据的类。保存存档和菜单的禁止状态之类的数据。
  24. #   本类的实例请参考 $game_system 。
  25. #==============================================================================
  26.  
  27. class Game_System
  28.   #--------------------------------------------------------------------------
  29.   # ● 定义实例变量
  30.   #--------------------------------------------------------------------------
  31.   attr_accessor :variable_show_text            # 佣兵积分
  32.   attr_accessor :variable_show                 # 窗口是否显示
  33.   attr_accessor :variable_show_text2           # 佣兵等级
  34.  
  35.   #--------------------------------------------------------------------------
  36.   # ● 初始化对象
  37.   #--------------------------------------------------------------------------
  38.   alias vw_initialize initialize
  39.   def initialize
  40.     vw_initialize   
  41.     @variable_show_text = "佣兵积分"
  42.     @variable_show_text2 = "佣兵等级"
  43.     @variable_show = Freya::BeginShow
  44.  
  45.     #怎么写才不会出错啊??
  46.   end
  47. end
  48. #==============================================================================
  49. # ■ Window_Variable
  50. #------------------------------------------------------------------------------
  51. #  显示变量窗口
  52. #==============================================================================
  53. class Window_Variable < Window_Base
  54.   #--------------------------------------------------------------------------
  55.   # ● 初始化对象
  56.   #--------------------------------------------------------------------------
  57.   def initialize
  58.     super(0,0, window_width,window_height)
  59.     unless $game_system.variable_show
  60.       self.opacity = 0
  61.       self.contents_opacity = 0
  62.     end
  63.     refresh
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 获取窗口的宽度,高度
  67.   #--------------------------------------------------------------------------
  68.   def window_width
  69.     return 150
  70.   end
  71.   def window_height
  72.     return 75
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 更新画面
  76.   #--------------------------------------------------------------------------
  77.   def update
  78.     super
  79.     if $game_system.variable_show
  80.       self.opacity = 255
  81.       self.contents_opacity = 255
  82.     else
  83.       self.opacity = 0
  84.       self.contents_opacity = 0
  85.     end
  86.     refresh
  87.   end
  88.  
  89.  
  90.   #--------------------------------------------------------------------------
  91.   # ● 刷新
  92.   #--------------------------------------------------------------------------
  93.  
  94.   $_PS0["Window_Base_textcolor"] = 20150508
  95.   #==============================================================================
  96.   # [PS0] 通用配置模块  
  97.   #==============================================================================
  98.   module PS0
  99.     module Window_Base_textcolor
  100.       Color1  = Color.new(255, 255, 255, 255)
  101.       Color2  = Color.new(128, 255, 255, 255)
  102.       Color3  = Color.new(128, 128, 255, 255)
  103.       Color4  = Color.new(255, 255, 128, 255)
  104.       Color5  = Color.new(128, 255, 128, 255)
  105.       Color6  = Color.new(255, 128, 128, 255)
  106.       Color7  = Color.new(255, 255,   0, 255)
  107.       Color8  = Color.new(255,   0, 255, 255)
  108.       Color9  = Color.new(255,   0,   0, 255)
  109.     end
  110.   end
  111.  
  112.   def refresh
  113.  
  114.     contents.clear
  115.  
  116.     temp = $game_variables ? $game_variables[60] : []
  117.  
  118.     case temp
  119.  
  120.     when 0..49
  121.       color = PS0::Window_Base_textcolor::Color1
  122.       renk = "F"      
  123.     when 50..99
  124.       color = PS0::Window_Base_textcolor::Color2
  125.       renk = 'E'
  126.     when 100..199
  127.       color = PS0::Window_Base_textcolor::Color3
  128.       renk = 'D'
  129.     when 200..399
  130.       color = PS0::Window_Base_textcolor::Color4
  131.       renk = 'C'   
  132.     when 400..599
  133.       color = PS0::Window_Base_textcolor::Color5
  134.       renk = 'B'   
  135.     when 600..799      
  136.       color = PS0::Window_Base_textcolor::Color6
  137.       renk = 'A'         
  138.     when 800..999
  139.       color = PS0::Window_Base_textcolor::Color7   
  140.       renk = 'S'   
  141.     when 1000..1200      
  142.       color = PS0::Window_Base_textcolor::Color8     
  143.       renk = 'SS'
  144.     else      
  145.       color = PS0::Window_Base_textcolor::Color9
  146.       renk = 'SSS'
  147.     end
  148.  
  149.     @variable_show_text3 = renk
  150.  
  151.     draw_text(0, line_height/4, contents.width, line_height, $game_system.variable_show_text2) #显示佣兵等级文字
  152.  
  153.     change_color(color) #等级文字变色
  154.  
  155.     draw_text(0, line_height/4, contents.width, line_height, @variable_show_text3,2) #显示佣兵等级
  156.  
  157.     change_color(Color.new(255, 255, 255))
  158.  
  159.     draw_text(0, line_height*1, contents.width, line_height, $game_variables[Freya::WindowVariableID],2)#显示佣兵积分的变量
  160.  
  161.     draw_text(0, line_height*1, contents.width, line_height, $game_system.variable_show_text)#显示佣兵积分字样
  162.  
  163.     contents.font.size = Font.default_size
  164.  
  165.     reset_font_settings
  166.   end
  167. end
  168. #==============================================================================
  169. # ■ Scene_Map
  170. #------------------------------------------------------------------------------
  171. #  地图画面
  172. #==============================================================================
  173. class Scene_Map < Scene_Base
  174.   #--------------------------------------------------------------------------
  175.   # ● 生成所有窗口
  176.   #--------------------------------------------------------------------------
  177.   alias vw_create_all_windows create_all_windows
  178.   def create_all_windows
  179.     vw_create_all_windows
  180.     @variable_window = Window_Variable.new
  181.     @variable_window.y = Graphics.height - @variable_window.height-128 #窗口位置
  182.   end
  183. end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 01:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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