| 
 
| 赞 | 2 |  
| VIP | 2 |  
| 好人卡 | 4 |  
| 积分 | 1 |  
| 经验 | 96076 |  
| 最后登录 | 2015-12-27 |  
| 在线时间 | 93 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间93 小时注册时间2008-5-16帖子745 | 
| 复制代码#==============================================================================
# ■ Window_Item
#------------------------------------------------------------------------------
#  物品画面、战斗画面、显示浏览物品的窗口。
#==============================================================================
class Window_Item < Window_Selectable
 #--------------------------------------------------------------------------
 # ● 初始化对像
 #--------------------------------------------------------------------------
 def initialize(actor)
   super(48, 112, 544, 320)
   @actor = actor
   @column_max = 2
   refresh
   self.index = 0
   # 战斗中的情况下将窗口移至中央并将其半透明化
   if $game_temp.in_battle
     self.y = 64
     self.height = 256
     self.back_opacity = 160
   end
 end
 #--------------------------------------------------------------------------
 # ● 获取物品
 #--------------------------------------------------------------------------
 def item
   return @data[self.index]
 end
 #--------------------------------------------------------------------------
 # ● 刷新
 #--------------------------------------------------------------------------
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   # 添加报务
   for i in 1...$data_items.size
     if $game_party.item_number(i) > 0
       @data.push($data_items[i])
     end
   end
   # 在战斗中以外添加武器、防具
   unless $game_temp.in_battle
     for i in 1...$data_weapons.size
       if $game_party.weapon_number(i) > 0
         @data.push($data_weapons[i])
       end
     end
     for i in 1...$data_armors.size
       if $game_party.armor_number(i) > 0
         @data.push($data_armors[i])
       end
     end
   end
   # 如果项目数不是 0 就生成位图、重新描绘全部项目
   @item_max = @data.size
   if @item_max > 0
     self.contents = Bitmap.new(width - 32, row_max * 32)
     for i in 0...@item_max
       draw_item(i)
     end
   end
 end
 #--------------------------------------------------------------------------
  # ● 描绘项目
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (270)
    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(item.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, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240-50, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256-50, y, 24, 32, number.to_s, 2)
  end
 #--------------------------------------------------------------------------
 # ● 刷新帮助文本
 #--------------------------------------------------------------------------
def update_help
  # @help_window.set_text(self.item == nil ? "" : self.item.description)
   @help_window.set_text(self.item)
   #校正帮助窗口位置
   @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
 end
end
试试。。
 | 
 |