Project1

标题: 请问状态栏5个人头像会重叠怎么解决? [打印本页]

作者: 根五    时间: 2017-9-20 15:49
标题: 请问状态栏5个人头像会重叠怎么解决?
先上图

如图中当显示5个人的时候就会有部分重叠,请问怎么解决?
作者: 骷髅岛遗老    时间: 2017-9-20 22:47
看看你是出了http://rpg.blue/thread-226400-1-1.html这里讲到的问题吗
作者: 根五    时间: 2017-9-22 08:47
本帖最后由 根五 于 2017-9-22 09:41 编辑
骷髅岛遗老 发表于 2017-9-20 22:47
看看你是出了http://rpg.blue/thread-226400-1-1.html这里讲到的问题吗


我就是看这个做出的效果!目前我觉得应该是因为"容器"这个问题,但是我不会……

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 计算窗口内容的宽度
  3.   #--------------------------------------------------------------------------
  4.   def contents_width
  5.     width - standard_padding * 2
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 计算窗口内容的高度
  9.   #--------------------------------------------------------------------------
  10.   def contents_height
  11.     height - standard_padding * 2
  12.   end


就是这两句的问题吧!应该是!
作者: 心六    时间: 2017-9-29 00:16
如果问题还没有解决,希望我能够以微薄之力帮助到楼主。楼主把制作项目的Window_MenuStatus脚本复制出来...(先和楼主说一下...可能不是MenuStatus...太久没碰RM了...
作者: 根五    时间: 2017-9-29 14:41
我之前跟着2楼给的那个教程改过,后来想改回来,主要是为了要显示5个人

绘制项目那里改了改


  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_MenuStatus
  4. #------------------------------------------------------------------------------
  5. #  菜单画面中,显示队伍成员状态的窗口
  6. #==============================================================================
  7. class Window_MenuStatus < Window_Selectable
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :pending_index            # 保留位置(整队用)
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化对象
  14.   #--------------------------------------------------------------------------
  15.   def initialize(x, y)
  16.     super(x, y, window_width, window_height)
  17.     @pending_index = -1
  18.     self.opacity = 0
  19.     refresh
  20.   end
  21.   
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取窗口的宽度
  24.   #--------------------------------------------------------------------------
  25.   def window_width
  26.     Graphics.width - 160
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 获取窗口的高度
  30.   #--------------------------------------------------------------------------
  31.   def window_height
  32.     Graphics.height
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 获取列数
  36.   #--------------------------------------------------------------------------
  37.   #def col_max
  38.     #return 5 #跟据分辨率的不同可以改
  39.   #end
  40.   #--------------------------------------------------------------------------
  41.   # ● 获取项目数
  42.   #--------------------------------------------------------------------------
  43.   def item_max
  44.     $game_party.members.size
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 获取项目的高度
  48.   #--------------------------------------------------------------------------
  49.   def item_height
  50.     height - standard_padding * 0.01
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 获取项目的宽度
  54.   #--------------------------------------------------------------------------
  55.   def item_width
  56.     (width - standard_padding * 2 + spacing) /col_max - spacing
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 获取行间距的宽度
  60.   #--------------------------------------------------------------------------
  61.   def spacing
  62.     return 0
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 获取项目数
  66.   #--------------------------------------------------------------------------
  67.   def item_max
  68.     $game_party.members.size
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 获取项目的高度
  72.   #--------------------------------------------------------------------------
  73.   def item_height
  74.     (height - standard_padding * 2) / 5
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ● 绘制项目
  78.   #--------------------------------------------------------------------------
  79.   def draw_item(index)
  80.     actor = $game_party.members[index]
  81.     enabled = $game_party.battle_members.include?(actor)
  82.     rect = item_rect(index)
  83.     draw_item_background(index)
  84.     draw_actor_face(actor, rect.x, rect.y, enabled)
  85.     draw_actor_name(actor,rect.x+100, rect.y+10)
  86.     draw_actor_class(actor,rect.x+170, rect.y+30)
  87.     draw_actor_icons(actor,rect.x+250,rect.y+50)
  88.     draw_actor_level(actor,rect.x+100, rect.y+50)
  89.     draw_actor_hp(actor,rect.x+250, rect.y+0)
  90.     draw_actor_mp(actor,rect.x+250,rect.y+20)
  91.     draw_actor_tp(actor,rect.x+250,rect.y+40)
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 绘制项目的背景
  95.   #--------------------------------------------------------------------------
  96.   def draw_item_background(index)
  97.     if index == @pending_index
  98.       contents.fill_rect(item_rect(index), pending_color)
  99.     end
  100.   end
  101.   def contents_height
  102.     [super - super % item_height, row_max * item_height].max
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 按下确定键时的处理
  106.   #--------------------------------------------------------------------------
  107.   def process_ok
  108.     super
  109.     $game_party.menu_actor = $game_party.members[index]
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 返回上一个选择的位置
  113.   #--------------------------------------------------------------------------
  114.   def select_last
  115.     select($game_party.menu_actor.index || 0)
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 设置保留位置(整队用)
  119.   #--------------------------------------------------------------------------
  120.   def pending_index=(index)
  121.     last_pending_index = @pending_index
  122.     @pending_index = index
  123.     redraw_item(@pending_index)
  124.     redraw_item(last_pending_index)
  125.   end
  126. end
复制代码

作者: 心六    时间: 2017-9-29 18:02
这里只要把74行列的
  1. (height - standard_padding * 2) / 5
复制代码

改成
  1. (height - standard_padding * 2) / 4
复制代码

就可以了
作者: 根五    时间: 2017-10-1 10:37
本帖最后由 根五 于 2017-10-1 10:52 编辑
心六 发表于 2017-9-29 18:02
这里只要把74行列的

改成

我就是要显示5个人才改成5的…………貌似是不是可以把头像按比例缩小一下就可以了呢

作者: 心六    时间: 2017-10-1 15:23


这个效果如何?四个字的称号看起来会和TP条和MP条层叠,如果要继续改进字体大小,我可以尝试一下。
我在76至85行列添加了脚本,能够调整脸图大小,使用方法在82行列。
脚本内容






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