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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1428
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
跳转到指定楼层
1
发表于 2012-3-22 16:36:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x

就是不出现分类,选择物品进去后直接只显示上面的说明和下面的物品列表,中间不出现分类的切换(就和VX一样)
roguelike求生RPG研发中....

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

2
发表于 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)

最后的脚本:
RUBY 代码复制
  1. class Scene_Item
  2.  
  3.   def start
  4.     super
  5.     create_help_window
  6.     #create_category_window  #
  7.     create_item_window
  8.     force_thing(@item_window)
  9.   end
  10.  
  11.   def force_thing(window)
  12.     window.active = true  # 激活
  13.     window.category = :all  # 自定义显示全部物品的符号
  14.     window.index = 0  # 显示选框
  15.   end
  16.  
  17.   def create_item_window
  18.     wy = @help_window.height    # 位置修改
  19.     wh = Graphics.height - wy
  20.     @item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
  21.     @item_window.viewport = @viewport
  22.     @item_window.help_window = @help_window
  23.     @item_window.set_handler(:ok,     method(:on_item_ok))
  24.     @item_window.set_handler(:cancel, method(:return_scene))  # 取消回主菜单
  25.     #@category_window.item_window = @item_window
  26.   end
  27.  
  28. end
  29.  
  30. class Window_ItemList
  31.  
  32.   alias :iisnow_include? :include?
  33.   def include?(item)
  34.     if @category == :all  # 添加全体判定
  35.       return true
  36.     else
  37.       return iisnow_include?(item)
  38.     end
  39.   end
  40.  
  41. end

评分

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

查看全部评分

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

使用道具 举报

Lv1.梦旅人

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

点评

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
2004
在线时间
61 小时
注册时间
2014-2-2
帖子
3
4
发表于 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 物品不显示呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-20 22:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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