本帖最后由 各种压力的猫君 于 2012-2-15 05:46 编辑  
 
Window_Skill 
#--------------------------------------------------------------------------   # ● 描绘项目   #     index : 项目编号   #--------------------------------------------------------------------------   def draw_item(index)     skill = @data[index]     if @actor.skill_can_use?(skill.id)       self.contents.font.color = normal_color     else       self.contents.font.color = disabled_color     end     x = 4 + index % 2 * (288 + 32)     y = index / 2 * 32     rect = Rect.new(x, y, self.width / @column_max - 32, 32)     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))     bitmap = RPG::Cache.icon(skill.icon_name)     opacity = self.contents.font.color == normal_color ? 255 : 128     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)     self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)     self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)   end 
 
 #--------------------------------------------------------------------------  
  # ● 描绘项目  
  #     index : 项目编号  
  #--------------------------------------------------------------------------  
  def draw_item(index)  
    skill = @data[index]  
    if @actor.skill_can_use?(skill.id)  
      self.contents.font.color = normal_color  
    else  
      self.contents.font.color = disabled_color  
    end  
    x = 4 + index % 2 * (288 + 32)  
    y = index / 2 * 32  
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)  
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))  
    bitmap = RPG::Cache.icon(skill.icon_name)  
    opacity = self.contents.font.color == normal_color ? 255 : 128  
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)  
    self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)  
    self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)  
  end  
 
  67行是基础x坐标的计算公式,仔细思考下这个公式的含义,万万不可直接改数字! 
73行是技能图标的绘制 
74行是技能名称的绘制 
75行是技能消耗SP数值的绘制 
 
但是这样改了之后平时的菜单的技能窗口也会变化(如果你两处都想改一样的下面不用看了) 
 
所以在67行下面加一行: 
x = (修改后的计算公式) if $game_temp.in_battle 
 
 x = (修改后的计算公式) if $game_temp.in_battle  
 
  或者你可以用这种方式:(一行流的写法我就不说了……其实是我也不太懂一行流 ╮(╯_╰)╭) 
if $game_temp.in_battle # 这行的意思是“如果在战斗中”       x = (修改后的计算公式)     else       x = 4 + index % 2 * (288 + 32)     end 
 
 if $game_temp.in_battle # 这行的意思是“如果在战斗中”  
      x = (修改后的计算公式)  
    else  
      x = 4 + index % 2 * (288 + 32)  
    end  
 
  
技能图标、名称、消耗SP数值的描绘按上面一样的方法修改就好了。 |