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

Project1

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

[已经解决] [脚本]关于窗口的参数传递问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2016-2-28
帖子
5
跳转到指定楼层
1
发表于 2016-2-28 00:41:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 690051933 于 2016-2-28 00:42 编辑

本人刚接触RM…一来就遇到一个问题..
标题可能描述的不准确,请看下面对我遇到的问题的详细描述。。

我想要制作解谜类的RPG,所以不需要技能、队伍等菜单,只用物品菜单,研究半天终于搞掉了…
但是还有一个问题,在ESC菜单中打开”物品“选项
我想要的效果是,在左边菜单里点击”物品”后直接在物品栏中选择物品了,
可实际上还是相当于有一个选择的过程,必须要再按下空格以选择下一级的"物品"选项卡(尽管"武器""护甲"等选项卡已经被我删除了)

琢磨半天,然后我找到了这段脚本
Scene_menu中:
  1. def create_command_window
  2.     @command_window = Window_MenuCommand.new
  3.     @command_window.set_handler(:item,      method(:command_item))
  4.     @command_window.set_handler(:save,      method(:command_save))
  5.     @command_window.set_handler(:game_end,  method(:command_game_end))
  6.     @command_window.set_handler(:cancel,    method(:return_scene))
  7. end
复制代码
这个是创建ESC菜单的代码,然后根据command_item(装备菜单命令)到
Scene_menu中:
  1. def command_item
  2.     SceneManager.call(Scene_Item)
  3. end
复制代码
然后
Scene_Item中:
  1. def start
  2.     super
  3.     create_help_window #介绍窗口
  4.     create_category_window #分类窗口
  5.     create_item_window #物品栏窗口
  6. end
复制代码
我想直接注释掉 分类窗口 就行了,可是发现注释掉并把一些错误排除后,物品栏中的物品居然看不见了!
我用事件触发来测试了一下,发现物品的确存在,可是没有显示出来
然后我进一步发现
Scene_Item中的
def create_item_window中:
  1. @category_window.item_window = @item_window
复制代码
有这么一段,注释掉后会有同样效果
Scene_Item中的
def create_category_window中:
  1. @category_window.set_handler(:ok, method(:on_category_ok))
复制代码
这种样子的代码似乎有很多,好像是判断选择的是哪一个菜单的,但是我并没有看到有判断是选中了哪一个菜单…但是应该是传递了一个参数,由于我跳过 分类窗口,物品栏窗口没有得到参数就不能显示出物品。。。这些只是我的理解…刚接触这个的确不太清楚…
希望大神解决!万分感谢!

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2016-2-28
帖子
5
3
 楼主| 发表于 2016-2-28 11:20:17 | 只看该作者
威风镰鼬 发表于 2016-2-28 10:34
系统默认的菜单打开物品栏是先生成Window_ItemCategory.new的
你可以把    Scene_Item 中把带有分类窗口的 ...

是的...想要直接进物品栏....分类那一部分已经删掉了,以前可以选择"物品""武器""护甲"啥的现在只有"物品"了
跳过上面那个选择分类对话框的生成后,就发现它不知道该生成什么物品了...所以还以为是选择分类对话框给物品显示传递了一个参数,让它知道是显示"物品"还是"武器"等等..
非常感谢您的回答!@item_window.category=(:item)是放在create_item_window里面吗,可是为什么放进去会报错(之前的选择分类对话框也打开了的...)

点评

不客气,好人卡+1  发表于 2016-2-28 13:17
已经解决了!之前也有考虑这个问题,果然是因为窗口激活,加了一句@item_window.activate就没问题了!问题已经解决了!非常感谢您的帮助!@威风镰鼬  发表于 2016-2-28 11:31
可是又有了新问题..物品是显示了,可是却没有光标,而且也没法选择物品..请问这是什么原因...  发表于 2016-2-28 11:25
很抱歉刚才是我的失误...我把这段代码放到创建对话框之前了...现在显示没有问题了..非常感谢您!  发表于 2016-2-28 11:23
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
409
在线时间
286 小时
注册时间
2015-10-4
帖子
294
2
发表于 2016-2-28 10:34:43 | 只看该作者
系统默认的菜单打开物品栏是先生成Window_ItemCategory.new的
你可以把    Scene_Item 中把带有分类窗口的部分删掉,然后直接生成道具窗口。
但是这个时候会出错,因为没有分类的话他不知道要生成什么物品。
所以我就在生成道具窗口那里加上了这句:
@item_window.category=(:item)
然后不管是什么东西,都给他归类成普通物品就行了。

点评

你要把分类部分删掉,直接进入物品栏对吧? 可是这和参数传递有什么关系……  发表于 2016-2-28 10:37

评分

参与人数 1梦石 +1 收起 理由
丿梁丶小柒 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-24 07:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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