查看: 4050|回复: 3

[已经解决] 如何让物品栏不分类

[复制链接]
梦石
0
星屑
1428
在线时间
1705 小时
注册时间
2011-8-17
回帖
651
发表于 2012-3-22 16:36:33 | 显示全部楼层 |阅读模式

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

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

×

就是不出现分类,选择物品进去后直接只显示上面的说明和下面的物品列表,中间不出现分类的切换(就和VX一样)
roguelike求生RPG研发中....
梦石
0
星屑
513
在线时间
1479 小时
注册时间
2011-9-17
回帖
1266

开拓者贵宾

发表于 2012-3-24 14:47:01 | 显示全部楼层
本帖最后由 iisnow 于 2012-3-24 14:50 编辑

分为步解决:
1.消除分类窗口
   只需要注释掉create_category_window和@category_window.item_window = @item_window即可
2.物品窗口的调整,坐标的调整,handler的重新设置
   包括,初始的激活,初始的光标;
3.显示全部物品
   需要增加分类标记,详见脚本,并设置物品窗口的标记
4.其他(窗口的设置、语句的排布)
   这样深入研究一下,物品窗口的start方法并没有refresh的内容,即开始的时候并不会描绘
   但是category=方法中有描绘的内容,即@category设置时会描绘,不需要考虑(因为上面调用 category=方法)
   最后注意,由于Window_ItemList继承的是Window_Selectable,只有在index改变时(调用index=方法时)才会更新帮助
   于是要先描绘item_window的项目(设置@category)以及激活(激活才会更新帮助),于是设置index必须在最后面,
   而前两句顺序无所谓(当然你可以加强制刷新帮助的语句,即update_help)

最后的脚本:
[pre lang="ruby" line="1"]
class Scene_Item
  
  def start
    super
    create_help_window
    #create_category_window  #
    create_item_window
    force_thing(@item_window)
  end
   
  def force_thing(window)
    window.active = true  # 激活
    window.category = :all  # 自定义显示全部物品的符号
    window.index = 0  # 显示选框
  end
  
  def create_item_window
    wy = @help_window.height    # 位置修改
    wh = Graphics.height - wy
    @item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:return_scene))  # 取消回主菜单
    #@category_window.item_window = @item_window
  end
  
end

class Window_ItemList
  
  alias :iisnow_include? :include?
  def include?(item)
    if @category == :all  # 添加全体判定
      return true
    else
      return iisnow_include?(item)
    end
  end
  
end

[/pre]

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
迷糊的安安 + 200 + 2 认可答案

查看全部评分

我帖子中要有是不HX的空白,请Ctrl + A
回复

使用道具 举报

梦石
0
星屑
50
在线时间
69 小时
注册时间
2012-3-3
回帖
79
发表于 2012-3-25 10:57:44 | 显示全部楼层
楼主,还是分类比较好。
物品少的话,看不出什么。
物品很多的话,在一堆东西中找一个道具是很蛋疼的,要考虑玩家的感受。
个人建议,可以无视。

点评

额....我做解谜游戏需要而已...  发表于 2012-3-25 16:02
内事不决问@度娘,外事不决问@谷哥。
有此二人辅佐,何愁天下不定乎!
回复

使用道具 举报

梦石
0
星屑
2004
在线时间
61 小时
注册时间
2014-2-2
回帖
3
发表于 2014-2-28 06:37:03 | 显示全部楼层
为什么我把 alias :iisnow_include? :include?
  def include?(item)
    if @category == :all  # 添加全体判定
      return true
    else
      return iisnow_include?(item)
    end
  end 放在Window_ItemList 物品不显示呢?
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部