Project1

标题: 如何给菜单界面添加一个帮助窗口? [打印本页]

作者: 喵呜喵5    时间: 2013-10-3 18:03
标题: 如何给菜单界面添加一个帮助窗口?
本帖最后由 喵呜喵5 于 2013-10-3 20:19 编辑

我希望给游戏的菜单添加一个帮助窗口,选择指令时会显示对应的帮助(例如选择退出游戏时帮助窗口就显示“退出游戏,未保存的记录将会丢失”这样的……)
请问应该如何判断玩家光标停留的位置从而对帮助窗口进行update?看不太懂道具场景的帮助窗口是怎么update的……

另外我菜单的指令会随着游戏进程添加的,所以大概不能以光标的index作为判定标准……


作者: 余烬之中    时间: 2013-10-3 19:37
在Window_Command中查找add_command,可以看到:
  1.   #--------------------------------------------------------------------------
  2.   # ● 添加指令
  3.   #     name    : 指令名称
  4.   #     symbol  : 对应的符号
  5.   #     enabled : 有效状态的标志
  6.   #     ext     : 任意的扩展数据
  7.   #--------------------------------------------------------------------------
  8.   def add_command(name, symbol, enabled = true, ext = nil)
  9.     @list.push({:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext})
  10.   end
复制代码
这个@list是什么呢?
在这里第一次出现
  1.   #--------------------------------------------------------------------------
  2.   # ● 初始化对象
  3.   #--------------------------------------------------------------------------
  4.   def initialize(x, y)
  5.     clear_command_list
  6.     make_command_list
  7.     super(x, y, window_width, window_height)
  8.     refresh
  9.     select(0)
  10.     activate
  11.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 清除指令列表
  3.   #--------------------------------------------------------------------------
  4.   def clear_command_list
  5.     @list = []
  6.   end
复制代码
顺藤摸瓜:
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取指令名称
  3.   #--------------------------------------------------------------------------
  4.   def command_name(index)
  5.     @list[index][:name]
  6.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取指令的有效状态
  3.   #--------------------------------------------------------------------------
  4.   def command_enabled?(index)
  5.     @list[index][:enabled]
  6.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取选项的指令数据
  3.   #--------------------------------------------------------------------------
  4.   def current_data
  5.     index >= 0 ? @list[index] : nil
  6.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取选项的符号
  3.   #--------------------------------------------------------------------------
  4.   def current_symbol
  5.     current_data ? current_data[:symbol] : nil
  6.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取选项的扩展数据
  3.   #--------------------------------------------------------------------------
  4.   def current_ext
  5.     current_data ? current_data[:ext] : nil
  6.   end
复制代码
于是,我们可以通过这些东西获取光标当前位置对应命令的相应信息
【最有效的是符号symbol
依据这些信息设定帮助信息,应该不是难事吧?

————————————
你不认识我,但我认识你,你写的脚本很实用,正在使用中
作者: shiyatestzn    时间: 2013-10-3 19:39
喵呜也有头大的时候噗噗.窝去钻研下.
作者: shiyatestzn    时间: 2013-10-3 19:57
给喵呜桑提个思路 不对不要抽我..

一愚之见,查看线索线索整合保存记录 结束游戏 这四个项目 做成点击选项就使用对应物品的物品栏. 点击查看线索就相当于使用物品1点击线索整合就相当于使用物品2

然后再数据库里的物品1.物品2的说明栏里写下“退出游戏,未保存的记录将会丢失”这样的……

至于如何改造Window_ItemCategory     Scene_Item  就得看喵呜桑的本事了

真让窝写脚本,那窝只能说:"臣妾不能."

目前研究python中.祝喵呜早点找到解决方法.走你
作者: tan12345    时间: 2013-10-3 21:07
支持喵呜喵5,你帮了我很多忙,这次看楼上的回复既然你有思路了我就不乱发表意见了,下次能帮你忙时我再说话。
作者: VIPArcher    时间: 2014-4-19 00:17
本帖最后由 VIPArcher 于 2014-4-19 00:49 编辑

@喵呜喵5  大大 我做菜单也遇到这个问题,不过我没看懂上面的FAQ,求解答我要怎么做才能达到效果 让光标在技能选项上就在帮助窗口刷新一句话例如“消耗MP的技能”。
作者: VIPArcher    时间: 2014-4-19 00:52
在哪里写 每次光标移动时帮助窗口set_text?
刚刚贴错图了,反正都没差。不贴了。
作者: 喵呜喵5    时间: 2014-4-19 08:09
VIPArcher 发表于 2014-4-19 00:52
在哪里写 每次光标移动时帮助窗口set_text?
刚刚贴错图了,反正都没差。不贴了。 ...

http://rpg.blue/thread-354178-1-1.html




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