设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1768|回复: 0
打印 上一主题 下一主题

[已经解决] 主菜单人物显示能改成左右翻列吗?

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
跳转到指定楼层
1
发表于 2011-6-5 14:59:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 jhhuang 于 2011-6-7 21:24 编辑

主菜单的人物是上下排列4个,如果是8个,上下翻行.
不过我的菜单人物是左右排列的....4个人物就占640,8个人物光标就移到屏幕外面去了...
有办法选到第5人物就开始翻列吗?
  1. #==============================================================================
  2. # ■ Window_MenuStatus
  3. #------------------------------------------------------------------------------
  4. #  显示菜单画面和同伴状态的窗口。
  5. #==============================================================================

  6. class Window_MenuStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化目标
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 640, 480)
  12.     @column_max = 8
  13.     self.contents = Bitmap.new(width*2 - 64, height - 32)
  14.     self.opacity = 255
  15.     self.z = 99999
  16.     refresh
  17.     self.active = false
  18.     self.index = -1
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 刷新
  22.   #--------------------------------------------------------------------------
  23.   def refresh
  24.     self.contents.clear
  25.     @item_max = $game_party.actors.size
  26.     for i in 0...$game_party.actors.size
  27.       #x = 64
  28.       #y = i * 116
  29.       x = i*150
  30.       y = 64  
  31.       actor = $game_party.actors[i]
  32.       draw_actor_hp_meter_line(actor, x+35,y+240,101,12)
  33.       draw_actor_sp_meter_line(actor, x+35,y+270,101,12)
  34.       draw_actor_face(actor, x+2, y)
  35.       EXP(actor, x+36,y+300)
  36.       self.contents.font.size=16
  37.       draw_actor_hp(actor, x + 8, y +230)
  38.       draw_actor_sp(actor, x + 8, y +260)
  39.      #draw_actor_graphic(actor, x + 60, y + 80)
  40.      #draw_actor_graphic(actor, x - 40, y + 80)
  41.       draw_actor_name(actor, x + 8, y + 148)
  42.       draw_actor_class(actor, x + 8, y + 180)
  43.      #draw_actor_level(actor, x, y + 32)
  44.       draw_actor_level(actor, x + 8, y + 205)
  45.       draw_actor_state(actor, x + 8, y + 340)
  46.       draw_actor_exp(actor, x + 8, y + 310)
  47.     end
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 左右换行
  51.   #--------------------------------------------------------------------------
  52.   def row_max
  53.    return @item_max
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 刷新光标矩形
  57.   #--------------------------------------------------------------------------
  58.   #def update_cursor_rect
  59.   #  if @index < 0
  60.   #    self.cursor_rect.empty
  61.   #  else
  62.   #   #self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  63.   #   self.cursor_rect.set(@index * 150, 64, 150, 385)
  64.   #  end
  65.   #end
  66.   def update_cursor_rect
  67.     # 光标位置不满 0 的情况下
  68.     if @index < 0
  69.       self.cursor_rect.empty
  70.       return
  71.     end
  72.     # 获取当前的行
  73.     row = @index / @column_max
  74.     # 当前行被显示开头行前面的情况下
  75.     if row < self.top_row
  76.       # 从当前行向开头行滚动
  77.       self.top_row = row
  78.     end
  79.     # 当前行被显示末尾行之后的情况下
  80.     if row > self.top_row + (self.page_row_max - 1)
  81.       # 从当前行向末尾滚动
  82.       self.top_row = row - (self.page_row_max - 1)
  83.     end
  84.     # 计算光标的宽
  85.     cursor_width = 150
  86.     # 计算光标坐标
  87.     x = @index * 150
  88.     y = 0
  89.     # 更新国标矩形
  90.     self.cursor_rect.set(@index * 150, 64, 150, 385)
  91.   end
  92. end
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-29 21:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表