Project1

标题: 如何缩短文字与数量的距离 [打印本页]

作者: yzli131    时间: 2013-9-3 16:15
标题: 如何缩短文字与数量的距离
本帖最后由 yzli131 于 2013-9-3 21:02 编辑

如图
如何将恢复药与数量1之间的距离缩小。光标也同时要缩小。
或着说 文字等于扩张的距离,求高手回答。
小弟谢谢了。

作者: yzli131    时间: 2013-9-3 16:55
你不觉得 这个方法很水吗。。求来个复杂 的方法,。感激。。。那个方法对我来说没意义的
作者: 345912390    时间: 2013-9-3 17:34
yzli131 发表于 2013-9-3 16:55
你不觉得 这个方法很水吗。。求来个复杂 的方法,。感激。。。那个方法对我来说没意义的 ...

Window_ItemList里加入以下脚本,自己调整吧!
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取行间距的宽度
  3.   #--------------------------------------------------------------------------
  4.   def spacing
  5.     return 32
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 获取项目的宽度   这个就是物品项和光标的宽度
  9.   #--------------------------------------------------------------------------
  10.   def item_width
  11.     (width - standard_padding * 2 + spacing) / col_max - spacing
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 获取项目的绘制矩形
  15.   #--------------------------------------------------------------------------
  16.   def item_rect(index)
  17.     rect = Rect.new
  18.     rect.width = item_width
  19.     rect.height = item_height
  20.     rect.x = index % col_max * (item_width + spacing)
  21.     rect.y = index / col_max * item_height
  22.     rect
  23.   end
复制代码

作者: 喵呜喵5    时间: 2013-9-3 18:30
话说物品栏有长有短不是更难看吗…
作者: 345912390    时间: 2013-9-3 18:54
本帖最后由 345912390 于 2013-9-3 19:16 编辑

说实在的这样的效果很难看

如果这个效果是LZ想要的,点评一下在发修改脚本你吧!
以下脚本在默认情况下可实现,不提供冲突解决方案
脚本放在Main的上方
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_ItemList
  4. #------------------------------------------------------------------------------
  5. #  物品画面中,显示持有物品的窗口。
  6. #==============================================================================
  7.  
  8. class Window_ItemList < Window_Selectable
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对象
  11.   #--------------------------------------------------------------------------
  12.   alias old_initialize initialize
  13.   def initialize(x, y, width, height)
  14.     old_initialize(x, y, width, height)
  15.     @cursor_w=[]
  16.     @len=0
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 绘制项目
  20.   #--------------------------------------------------------------------------
  21.   alias old_draw_item draw_item
  22.   def draw_item(index)
  23.     item = @data[index]
  24.     if item
  25.       rect = item_rect(index)
  26.       rect.width -= 4
  27.       draw_item_name(item, rect.x, rect.y, enable?(item))
  28.       draw_item_number(rect, item)
  29.       @len=28+text_size(item.name).width+text_size(sprintf(":%2d", $game_party.item_number(item))).width
  30.       @cursor_w.insert(index,@len)
  31.     end
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 绘制物品个数
  35.   #--------------------------------------------------------------------------
  36.   alias old_draw_item_number draw_item_number
  37.   def draw_item_number(rect, item)
  38.     draw_text_ex(rect.x+24+text_size(item.name).width,rect.y,sprintf(":%2d", $game_party.item_number(item)))
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 更新光标
  42.   #--------------------------------------------------------------------------
  43.   def update_cursor
  44.     if @cursor_all
  45.       cursor_rect.set(0, 0, contents.width, row_max * item_height)
  46.       self.top_row = 0
  47.     elsif [url=home.php?mod=space&uid=370741]@Index[/url] < 0
  48.       cursor_rect.empty
  49.     else
  50.       ensure_cursor_visible
  51.       rect = item_rect(index)
  52.       cursor_rect.set(rect.x,rect.y,@cursor_w[index],rect.height)
  53.     end
  54.   end
  55. end

作者: cinderelmini    时间: 2013-9-3 19:15
脚本:Window_ItemList
里面的:
  1.   #--------------------------------------------------------------------------
  2.   # ● 绘制项目
  3.   #--------------------------------------------------------------------------
  4.   def draw_item(index)
  5.     item = @data[index]
  6.     if item
  7.       rect = item_rect(index)
  8.       rect.width -= 4
  9.       draw_item_name(item, rect.x, rect.y, enable?(item))
  10.       draw_item_number(rect, item)
  11.     end
  12.   end
复制代码
这段,替换为:
  1.   #--------------------------------------------------------------------------
  2.   # ● 绘制项目
  3.   #--------------------------------------------------------------------------
  4.   def draw_item(index)
  5.     item = @data[index]
  6.     if item
  7.       rect = item_rect(index)
  8.       rect.width -= 4
  9.       draw_item_name(item, rect.x, rect.y, enable?(item))
  10.       #draw_item_number(rect, item)
  11.     end
  12.   end
  13.   
  14.   #--------------------------------------------------------------------------
  15.   # ● 绘制物品名称
  16.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  17.   #--------------------------------------------------------------------------
  18.   def draw_item_name(item, x, y, enabled = true, width = 172)
  19.     return unless item
  20.     draw_icon(item.icon_index, x, y, enabled)
  21.     change_color(normal_color, enabled)
  22.     draw_text(x + 24, y, width, line_height, item.name)
  23.    
  24.     jw = text_size(item.name).width
  25.     draw_text(x + 24 + jw, y, width, line_height,
  26.               sprintf(":%2d", $game_party.item_number(item)))
  27.   end
复制代码

作者: yzli131    时间: 2013-9-3 20:10
本帖最后由 yzli131 于 2013-9-3 20:12 编辑

算是解决了。。。。。。。。不过谢谢你,为了报答你,我把自己新的UI系统发出来,算是报答你。这套我本来不用早物品上的。





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