| 本帖最后由 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
 
 
 #==============================================================================# ★ 设定部分 ★#==============================================================================module SFSaigao COL_MAX = 7  #每行可显示的列数LINEMAX = 2  #窗口行数end#==============================================================================# ★ 设定结束 ★#==============================================================================class Window_Selectable < Window_Base  alias selectable_cursor_down cursor_down  alias selectable_cursor_up cursor_up  alias selectable_ensure_cursor_visible ensure_cursor_visible  alias selectable_item_rect item_rectendclass Window_ItemCategory < Window_HorzCommand  include SFSaigao  #--------------------------------------------------------------------------  # ● 获取显示行数  #--------------------------------------------------------------------------  def visible_line_number; return LINEMAX; end  #--------------------------------------------------------------------------  # ● 获取列数  #--------------------------------------------------------------------------  def col_max; return COL_MAX; end  def ensure_cursor_visible; selectable_ensure_cursor_visible; end  def contents_width; width - standard_padding * 2; end  def contents_height; item_height * row_max; end  def cursor_down(wrap = false); selectable_cursor_down(wrap); end  def cursor_up(wrap = false); selectable_cursor_up(wrap); end  def item_rect(index); selectable_item_rect(index); endend
#============================================================================== 
# ★ 设定部分 ★ 
#============================================================================== 
module SFSaigao 
  
COL_MAX = 7  #每行可显示的列数 
LINEMAX = 2  #窗口行数 
end 
#============================================================================== 
# ★ 设定结束 ★ 
#============================================================================== 
class Window_Selectable < Window_Base 
  alias selectable_cursor_down cursor_down 
  alias selectable_cursor_up cursor_up 
  alias selectable_ensure_cursor_visible ensure_cursor_visible 
  alias selectable_item_rect item_rect 
end 
class Window_ItemCategory < Window_HorzCommand 
  include SFSaigao 
  #-------------------------------------------------------------------------- 
  # ● 获取显示行数 
  #-------------------------------------------------------------------------- 
  def visible_line_number; return LINEMAX; end 
  #-------------------------------------------------------------------------- 
  # ● 获取列数 
  #-------------------------------------------------------------------------- 
  def col_max; return COL_MAX; end 
  def ensure_cursor_visible; selectable_ensure_cursor_visible; end 
  def contents_width; width - standard_padding * 2; end 
  def contents_height; item_height * row_max; end 
  def cursor_down(wrap = false); selectable_cursor_down(wrap); end 
  def cursor_up(wrap = false); selectable_cursor_up(wrap); end 
  def item_rect(index); selectable_item_rect(index); end 
end 
 
 
 |