Project1

标题: 物品栏分类换行 [打印本页]

作者: 小小西    时间: 2020-4-11 20:13
标题: 物品栏分类换行
怎么把多出的分类换第二列去

232201r11ycspnroprls40.png (33.83 KB, 下载次数: 18)

232201r11ycspnroprls40.png

作者: Cupidk爱呗茶    时间: 2020-4-11 20:14
本帖最后由 Cupidk爱呗茶 于 2020-4-12 10:58 编辑

由于物品栏窗口是继承自Window_HorzCommand的横向窗口类 对拥有上下左右滚动功能的光标超类Window_Selectable方法进行了一定的修改 所以正常情况下只能进行Y坐标横向描绘
比如Window_Selectable类的rect.y = index / col_max * item_height 这种可以根据项目次序与设定列数判断换行 到了Window_HorzCommand里是直接赋值0的 (也就是描绘不判断换行)
根据楼主的需求在这里对原版物品窗口进行了一些修改 大部分直接引用自Window_Selectable的原版方法  有问题的话楼主可以随时联系【   使用方法 : 将脚本复制到插件页即可使用
那个..最后要感谢自己的师父雷君sama(gqxastg)该系统是师父提供了大量思路与实践帮助才得以实现的  阿利亚多! sfgrszqd xixi

RUBY 代码复制
  1. #==============================================================================
  2. # ★ 设定部分 ★
  3. #==============================================================================
  4. module SFSaigao
  5.  
  6. COL_MAX = 7  #每行可显示的列数
  7. LINEMAX = 2  #窗口行数
  8. end
  9. #==============================================================================
  10. # ★ 设定结束 ★
  11. #==============================================================================
  12. class Window_Selectable < Window_Base
  13.   alias selectable_cursor_down cursor_down
  14.   alias selectable_cursor_up cursor_up
  15.   alias selectable_ensure_cursor_visible ensure_cursor_visible
  16.   alias selectable_item_rect item_rect
  17. end
  18. class Window_ItemCategory < Window_HorzCommand
  19.   include SFSaigao
  20.   #--------------------------------------------------------------------------
  21.   # ● 获取显示行数
  22.   #--------------------------------------------------------------------------
  23.   def visible_line_number; return LINEMAX; end
  24.   #--------------------------------------------------------------------------
  25.   # ● 获取列数
  26.   #--------------------------------------------------------------------------
  27.   def col_max; return COL_MAX; end
  28.   def ensure_cursor_visible; selectable_ensure_cursor_visible; end
  29.   def contents_width; width - standard_padding * 2; end
  30.   def contents_height; item_height * row_max; end
  31.   def cursor_down(wrap = false); selectable_cursor_down(wrap); end
  32.   def cursor_up(wrap = false); selectable_cursor_up(wrap); end
  33.   def item_rect(index); selectable_item_rect(index); end
  34. end








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