查看: 2645|回复: 6

[已经解决] 如何缩短文字与数量的距离

[复制链接]
梦石
0
星屑
55
在线时间
183 小时
注册时间
2013-5-28
回帖
61
发表于 2013-9-3 16:15:45 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 yzli131 于 2013-9-3 21:02 编辑

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

点评

这种自定义UI要么自己做,要么传个工程并付上详细的要求找人帮你改.你只是取某一部分出来,找脚本很难达到想要的效果!  发表于 2013-9-3 21:42
把第47行[url=home.php?mod=space&uid=370741]@Index[/url] < 0改为@Index<0.这是论坛插入的[/url]标记  发表于 2013-9-3 19:51
最简单的方法是改成3列!Window_ItemList里获取列数下面的2改为3!  发表于 2013-9-3 16:48
梦石
0
星屑
55
在线时间
183 小时
注册时间
2013-5-28
回帖
61
 楼主| 发表于 2013-9-3 16:55:48 | 显示全部楼层
你不觉得 这个方法很水吗。。求来个复杂 的方法,。感激。。。那个方法对我来说没意义的
回复

使用道具 举报

梦石
0
星屑
1394
在线时间
989 小时
注册时间
2011-5-11
回帖
418
发表于 2013-9-3 17:34:31 | 显示全部楼层
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
复制代码

点评

其实我什么都不需要知道,我只需要知道,如何将缩短跟文字一样的距离。光标。其他的我基本都初步设定的差不多了,只是这个我还找不到在哪里...  发表于 2013-9-3 21:59
我的意思是指,文字是五个字,而他的宽度也就五个字宽,如果是十个字,他的宽度也是十个字的宽度,这个可以办的到吗?  发表于 2013-9-3 18:08
话说,不知道怎么用,这个宽度,是指第一个和第二个直接的宽度吗。。还是我不会用  发表于 2013-9-3 18:00
http://rpg.blue/static/image/smiley/yct/A059.gif中国字认识都不到一半,哪的心情学英语呀!
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-9-3 18:30:02 来自手机 | 显示全部楼层
话说物品栏有长有短不是更难看吗…

点评

不难看,我的脚本全局改变了,不是默认那套  发表于 2013-9-3 19:04
回复

使用道具 举报

梦石
0
星屑
1394
在线时间
989 小时
注册时间
2011-5-11
回帖
418
发表于 2013-9-3 18:54:33 | 显示全部楼层
本帖最后由 345912390 于 2013-9-3 19:16 编辑

说实在的这样的效果很难看
QQ截图20130903185017.png
如果这个效果是LZ想要的,点评一下在发修改脚本你吧!
以下脚本在默认情况下可实现,不提供冲突解决方案
脚本放在Main的上方
[pre lang="ruby" line="1"]#encoding:utf-8
#==============================================================================
# ■ Window_ItemList
#------------------------------------------------------------------------------
#  物品画面中,显示持有物品的窗口。
#==============================================================================

class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  alias old_initialize initialize
  def initialize(x, y, width, height)
    old_initialize(x, y, width, height)
    @cursor_w=[]
    @len=0
  end
  #--------------------------------------------------------------------------
  # ● 绘制项目
  #--------------------------------------------------------------------------
  alias old_draw_item draw_item
  def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y, enable?(item))
      draw_item_number(rect, item)
      @len=28+text_size(item.name).width+text_size(sprintf(":%2d", $game_party.item_number(item))).width
      @cursor_w.insert(index,@len)
    end
  end
  #--------------------------------------------------------------------------
  # ● 绘制物品个数
  #--------------------------------------------------------------------------
  alias old_draw_item_number draw_item_number
  def draw_item_number(rect, item)
    draw_text_ex(rect.x+24+text_size(item.name).width,rect.y,sprintf(":%2d", $game_party.item_number(item)))
  end
  #--------------------------------------------------------------------------
  # ● 更新光标
  #--------------------------------------------------------------------------
  def update_cursor
    if @cursor_all
      cursor_rect.set(0, 0, contents.width, row_max * item_height)
      self.top_row = 0
    elsif @Index < 0
      cursor_rect.empty
    else
      ensure_cursor_visible
      rect = item_rect(index)
      cursor_rect.set(rect.x,rect.y,@cursor_w[index],rect.height)
    end
  end
end[/pre]

点评

唉,原来求了一个下午,竟然还是没办法学会怎么缩短,其实我真正想求的是技能上和装备上的,图我等下上,大侠送佛送到西吧。。。  发表于 2013-9-3 20:58
光标那里出错了,你看看  发表于 2013-9-3 19:40
谢谢,是这样 的效果。果然高手多多  发表于 2013-9-3 19:02
http://rpg.blue/static/image/smiley/yct/A059.gif中国字认识都不到一半,哪的心情学英语呀!
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2013-9-3 19:15:09 | 显示全部楼层
脚本: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
复制代码

点评

插进去没有反应。。  发表于 2013-9-3 19:40
继续顺便……如果用了其他修改或加强的背包脚本的话~请全局搜索然后修改列表的最后一个【Window_ItemList】  发表于 2013-9-3 19:17
顺便这样排版不是很好看……  发表于 2013-9-3 19:15

评分

参与人数 1梦石 +1 收起 理由
熊喵酱 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
55
在线时间
183 小时
注册时间
2013-5-28
回帖
61
 楼主| 发表于 2013-9-3 20:10:11 | 显示全部楼层
本帖最后由 yzli131 于 2013-9-3 20:12 编辑

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部