Project1

标题: 如何写选择装备的固定光标? [打印本页]

作者: 倚天    时间: 2008-12-27 01:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后知后觉    时间: 2008-12-27 01:53
其实你的意思我还是没看得太明白,反正光标矩形和描绘的文字是2个部分
调整光标矩形的位置长宽就加个刷新的定义就行了
描绘的文字图标那些东西是在refresh里面

#==============================================================================
# ■ Window_EquipRight
#------------------------------------------------------------------------------
#  装备画面、显示角色现在装备的物品的窗口。
#==============================================================================

class Window_EquipRight < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     actor : 角色
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(272, 64, 368, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ● 获取物品
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @item_max = @data.size
    self.contents.font.color = system_color
    self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
    self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
    self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
    self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
    draw_item_name(@data[0], 92, 32 * 0)
    draw_item_name(@data[1], 92, 32 * 1)
    draw_item_name(@data[2], 92, 32 * 2)
    draw_item_name(@data[3], 92, 32 * 3)
    draw_item_name(@data[4], 92, 32 * 4)
  end
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
  #--------------------------------------------------------------------------
  # ● 刷新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      case @index
      when 0
        self.cursor_rect.set(24, 0, 104, 32)
      when 1
        self.cursor_rect.set(0, 32, 104, 32)
      when 2
        self.cursor_rect.set(36, 64, 90, 32)
      when 3
        self.cursor_rect.set(48, 96, 104, 32)
      when 4
        self.cursor_rect.set(12, 128, 104, 32)
      end
    end
  end
end
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 倚天    时间: 2008-12-27 02:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后知后觉    时间: 2008-12-27 19:48
以下引用倚天于2008-12-26 18:39:43的发言:

在穿装备和卸装备时出现问题了,上装备时位置没有错误,卸装备有的装备不能卸.

……这样的情况好像和刷新光标矩形没直接联系




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