Project1

标题: 一个菜单的问题。纠结了一晚上 实在想不出来~ [打印本页]

作者: jediman    时间: 2013-12-17 01:04
标题: 一个菜单的问题。纠结了一晚上 实在想不出来~
修改了一下菜单。。。
发现选项的格式怎么也改不了~
想把它改成竖排的。。
实在想不粗来了~求大神指点{:2_271:}

作者: SuperMario    时间: 2013-12-17 01:22
改 col_max 为1
作者: jediman    时间: 2013-12-17 10:02
本帖最后由 jediman 于 2013-12-17 10:10 编辑
SuperMario 发表于 2013-12-17 01:22
改 col_max 为1


改了 也不行啊~就只显示一行~
加入
row_max 参数也不行

  def visible_line_number
    item_max
  end
也没有用

就算把 Window_ItemCatrgory 新写都不行~{:2_263:}
作者: 菜鸟飞呀飞    时间: 2013-12-17 11:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: jediman    时间: 2013-12-17 13:43
本帖最后由 jediman 于 2013-12-17 13:44 编辑
菜鸟飞呀飞 发表于 2013-12-17 11:17
工程放出


附件已放出
基本上都是默认的脚本。
想改一下菜单就发现这个问题

直接更改了默认脚本。

Project3.zip (1.43 MB, 下载次数: 84)
作者: fux2    时间: 2013-12-17 14:21
父类改成Window_Command不就可以了。
作者: 菜鸟飞呀飞    时间: 2013-12-17 14:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: 774741359    时间: 2013-12-17 14:30
jediman 发表于 2013-12-17 13:43
附件已放出
基本上都是默认的脚本。
想改一下菜单就发现这个问题

其实是一个很简单的问题。
VA默认的物品类型选择窗口是继承了Window_HorzCommand
Window_HorzCommand 是一个横向选择的窗口。
而楼主想要的效果并不是Window_HorzCommand 能够达到的。
这时候就需要改父类为Window_Command
众所周知Window_Command是纵向选择的窗口。
然后修改一下列数就解决了你的问题。如下
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_ItemCategory
  4. #------------------------------------------------------------------------------
  5. #  物品画面和商店画面中,显示装备、所持物品等项目列表的窗口。
  6. #==============================================================================
  7. class Window_ItemCategory < Window_Command  #修改了父类
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :item_window
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化对象
  14.   #--------------------------------------------------------------------------
  15.   def initialize
  16.     super(0, 0)
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 获取窗口的宽度
  20.   #--------------------------------------------------------------------------
  21.   def window_width
  22.     Graphics.width
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 获取列数
  26.   #--------------------------------------------------------------------------
  27.   def col_max
  28.     return 1   #修改了列数
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 更新画面
  32.   #--------------------------------------------------------------------------
  33.   def update
  34.     super
  35.     @item_window.category = current_symbol if @item_window
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 生成指令列表
  39.   #--------------------------------------------------------------------------
  40.   def make_command_list
  41.     add_command(Vocab::item,     :item)
  42.     add_command(Vocab::weapon,   :weapon)
  43.     add_command(Vocab::armor,    :armor)
  44.     add_command(Vocab::key_item, :key_item)
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 设置物品窗口
  48.   #--------------------------------------------------------------------------
  49.   def item_window=(item_window)
  50.     @item_window = item_window
  51.     update
  52.   end
  53. end

上述脚本中我没有修改其坐标与大小宽高,目测楼主有自己修改的能力,
还有,范例真是够乱的,楼主以后写脚本千万不要去原脚本直接修改。
要懂得用追加定义。
作者: jediman    时间: 2013-12-17 14:32
fux2 发表于 2013-12-17 14:21
父类改成Window_Command不就可以了。

貌似 也不行啊

不知道在什么地方把排列方式定义了
作者: jediman    时间: 2013-12-17 14:56
774741359 发表于 2013-12-17 14:30
其实是一个很简单的问题。
VA默认的物品类型选择窗口是继承了Window_HorzCommand
Window_HorzCommand 是 ...

不好意思- -  
还处于摸索阶段。。
在测试效果所以就直接更改原脚本上改了
大部分的代码都能理解 还有些细节要确认
作者: jediman    时间: 2013-12-17 14:58
菜鸟飞呀飞 发表于 2013-12-17 14:28
class Window_item < Window_HorzCommand
#  attr_reader   :item_window
  def initialize

原来  继承Window_HorzCommand 就是横向菜单~
  继承Window_Command 就是纵向菜单
问题已经解决了~谢谢各位
作者: jediman    时间: 2013-12-17 14:59
fux2 发表于 2013-12-17 14:21
父类改成Window_Command不就可以了。

更正一下。。。刚刚是我搞错脚本了~继承Window_Command以后问题解决~
十分感谢




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