Project1

标题: 关于装备图标坐标以及光标问题 [打印本页]

作者: 【蛋塔】    时间: 2016-10-3 07:02
标题: 关于装备图标坐标以及光标问题
本帖最后由 【蛋塔】 于 2016-10-3 07:09 编辑

我将Window_Base 312行改成:
RUBY 代码复制
  1. def draw_icon_name(item, x, y)
  2.     if item == nil
  3.       return
  4.     end
  5.     bitmap = RPG::Cache.icon(item.icon_name)
  6.     dest = Rect.new(x, y, 60, 117)
  7.     self.contents.stretch_blt(dest, bitmap, Rect.new(0,0,60,117))
  8.     self.contents.font.color = normal_color
  9.     #self.contents.draw_text(x + 28, y, 212, 32, item.name)
  10.   end
  11. end

再把Window_EquipRight改成:

装备图标位置基本解决了,但是又遇到一个新的问题,那就是 光标的X Y值怎么改?
尝试了许多次改法还是不行,所以只有发帖求助了...望前辈们帮我看下 万分感激

能否让光标根据装备图标的坐标而改变?要改成武器光标在x+100,y+100   防具光标在x+200,y+200 这样应该怎么去修改?
对于光标不在行,只知道这段代码似乎能够影响光标的排版,但要单独去改变身上每个装备部位的光标位置- -还真不懂....
RUBY 代码复制
  1. x = @index % 3 * 54
  2.     y = @index /3 * 54- self.oy
  3.     # 更新光标矩形
  4.     self.cursor_rect.set(x+3, y+3, 68, 125)

作者: 夜狠简单    时间: 2016-10-3 09:00
本帖最后由 夜狠简单 于 2016-10-3 18:04 编辑
这种吗?


作者: 【蛋塔】    时间: 2016-10-3 13:57
夜狠简单 发表于 2016-10-3 09:00
[fold=这种吗?][/fold]


可能我表达的不好,我想请教的是“光标的XY坐标”怎么改?如上图这种效果,因为装备的位置不是排成一排
作者: 夜狠简单    时间: 2016-10-3 19:46
本帖最后由 夜狠简单 于 2016-10-3 19:49 编辑
【蛋塔】 发表于 2016-10-3 13:57
可能我表达的不好,我想请教的是“光标的XY坐标”怎么改?如上图这种效果,因为装备的位置不是排成一排 ...


RUBY 代码复制
  1. class Window_Selectable1<Window_Selectable
  2.   #--------------------------------------------------------------------------
  3.   # ● 更新光标矩形
  4.   #--------------------------------------------------------------------------
  5.  
  6.   def update_cursor_rect
  7.     super()
  8.     # 计算光标的x,y,宽度
  9.     x,y,cursor_width=[[85,0,90],[85,32,90],[0,32*2,90],[185,32*2,90],
  10.     [85,32*3,125]][@index]
  11.     # 更新光标矩形
  12.     self.cursor_rect.set(x, y, cursor_width, 32)
  13.   end
  14. end
  15. #==============================================================================
  16. # ■ Window_EquipRight
  17. #------------------------------------------------------------------------------
  18. #  装备画面、显示角色现在装备的物品的窗口。
  19. #==============================================================================
  20. class Window_EquipRight< Window_Selectable1
  21.   #--------------------------------------------------------------------------
  22.   # ● 初始化对像
  23.   #     actor : 角色
  24.   #--------------------------------------------------------------------------
  25.   def initialize(actor)
  26.     super(272, 64, 368, 192)
  27.     self.contents = Bitmap.new(width - 32, height - 32)
  28.     @actor = actor
  29.     refresh
  30.     self.index = 0
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 获取物品
  34.   #--------------------------------------------------------------------------
  35.   def item
  36.     return @data[self.index]
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 刷新
  40.   #--------------------------------------------------------------------------
  41.   def refresh
  42.     self.contents.clear
  43.     @data = []
  44.     @data.push($data_weapons[@actor.weapon_id])
  45.     @data.push($data_armors[@actor.armor1_id])
  46.     @data.push($data_armors[@actor.armor2_id])
  47.     @data.push($data_armors[@actor.armor3_id])
  48.     @data.push($data_armors[@actor.armor4_id])
  49.     @item_max = @data.size
  50.     self.contents.font.color = system_color
  51.     draw_item_name(@data[0], 92, 32 * 0)
  52.     draw_item_name(@data[1], 92, 32 * 1)
  53.     draw_item_name(@data[2], 4, 32 * 2)
  54.     draw_item_name(@data[3], 192, 32 * 2)
  55.     draw_item_name(@data[4], 92, 32 * 3)
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 刷新帮助文本
  59.   #--------------------------------------------------------------------------
  60.   def update_help
  61.     @help_window.set_text(self.item == nil ? "" : self.item.description)
  62.   end
  63. end





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