Project1

标题: 如何X键直接呼出物品栏,以及修改物品栏和存档画面 [打印本页]

作者: zhy012003    时间: 2013-8-28 22:33
标题: 如何X键直接呼出物品栏,以及修改物品栏和存档画面
1.我知道禁用菜单栏后用公共事件呼出,但是这样就需要用到另一个按键,怎么样才能直接X键呼出物品栏呢?
2.怎么样才能做成这样的物品栏,像菜单一样只在一角显示,左右按键可以控制关键物品和普通物品之间的切换
(ps.狂父真棒)

作者: 黑化の鼠标    时间: 2013-8-28 22:33
本帖最后由 黑化の鼠标 于 2013-9-1 21:57 编辑

唔....真是麻烦....因为好久没干需要这么多判定的事件.....还真是用掉了不少时间呢......

\Graphics\Pictures内文件名带有【重要物品】?????的均为不必要的文件,均为之前拙者脑抽导致,之后忘了删除连带着一起上传,在此深感抱歉

如果此范例得到采纳,但仍有不明白的地方,可尽情用消息问候拙者。
下载地址   百度网盘

多页版范例   下载地址   百度网盘
大致效果图,唔,理论上这种做法是与个人美工直接挂钩,美工有多好,直接决定了表现效果,而这一份范例是我进行各种素材偷工减料的产物,可以对本人进行过激评价,但方法是没有问题的



首先,不得不声明的事情:

此方法虽然不如本范例一般为了省时间而使用了大量图片,但就算进行精简处理也仍然必须使用相当数量的图片,如果爱惜游戏体积,请慎用。

目前,如你所见,为了能够尽量减少麻烦程度,对【物品】的数量进行了相当致命的限制,也就是,此范例暂时只能确保“6个物品“,但并不代表此方法只能进行【一页物品栏】的描绘。
如果是需要描绘多个【物品页】的话,我会提供另一份适合多个【物品页】的范例



注意,内部\Graphics\Pictures内的文件,实质上除了前缀名为【物品栏】【光标】【重要物品】之外均为无意义文件,因为本人习惯只是用一个工程来进行各种做法的实验,因此使本范例掺杂了一些不必要的素材,我在此表示抱歉。


范例操作说明:

基础操作与VA无二,唯一的变化为ESC(X)键被改为用来触发公共事件。

进入物品选单后,

↑↓键为移动物品选择光标如果需要使此光标呈现出动态效果........请提供一定的或文字或图片说明
←→键为切换物品间【重要物品】与【普通物品】的显示。

左边的两位路人为测试普通物品的NPC,右边的两位路人为测试重要物品的NPC。


多页版操作与说明:
虽说是多页版,实质上也仅仅是为【重要物品栏】加了一个第二页变成了两页版而已,但既然提供了思路,实质上最后只需要建立第三个开关【第三页】建立更多的公共事件给自动执行的事件加入更多的【事件页】,那么第三页也是应该没有问题,第四页也不会太远。

多页版的操作与单页版有些许不同

↑↓键仍为移动物品选择光标,差别根本是没有。
←→键,改为进行换页,也就是例如打开了【普通物品栏】,那么←→键便是普通物品栏之间的换页处理。
Q W键(即为VA默认中的L R键),加入使用,效果为在打开了【物品栏】时,在【普通物品栏】和【重要物品栏】之间的切换处理。


左边的两位路人为测试普通物品的NPC,右边的两位路人为测试第一页重要物品的NPC。
左下方的两位路人为测试第二页重要物品的NPC

因为脑子实在是不够用了,所以第二页物品的名称均非常无聊,请各位尽情重喷。


特别注意:如果对布里蓝所提到的按住ESC后会变得很鬼畜感到不快的话,可以直接将【按键判定】这个事件【事件页一】里的【按下B键时】这个分支项去掉,这样会变成【在普通物品栏无法退出物品栏】的境况,只能【先按下Q或者W键跳转到重要物品栏之后按下ESC键】,以上完毕



重要声明:
此方法因为固定了物品所处的位置(例如,第一个【?????】永远只会处于第一个【?????】的位置,并不会因为失去任何物品而产生移动),所以等于是间接性告诉了玩家,”实质上你还有多少个物品没有收集“,关于这一点,就不得不说是一个缺点或者说是一个优点。
优点即为提醒玩家为了通过剧情,究竟还差了几件物品,可对玩家进行一定程度的引导
缺点即为间接性剧透,刺激强迫症发作


VA默认的分辨率大小的544X416,而我所使用的图片,为了不必自己调整坐标,一律使用了544X416大小的透明背景进行编排,因此就算只是区区一个选项也占用掉了544X416大小的图片,因此对游戏体积的影响可能会有相当程度的困扰,我在此深表抱歉。

请尽情重喷我为何喜欢用如此多的红字来伤害各位的眼睛
作者: acn00269    时间: 2013-8-29 01:31
上面的ITEM四个大字用图片显示
物品栏呼出用公共事件不多说
然后改x值和y值的位置 大小也可以改 全都在Window_ItemList里
中间的物品装备分类的改为物品和贵重物品两项 然后透明度调到255最大值或干脆把该窗口x值y值调大以让它隐藏
但左右键切换物品贵物仍然有效
物品栏纵列设为 1
效果达成
作者: 345912390    时间: 2013-8-29 01:32
要游戏界面直接X键呼出物品栏
那个公共事件有点曲线救国的味道。
  1. class Scene_Map < Scene_Base
  2.   alias call_menu_a call_menu
  3.   def call_menu
  4.     Sound.play_ok
  5.     $game_temp.reserve_common_event(1)#调用公共事件ID
  6.   end
  7. end
  8. class Window_ItemCategory < Window_HorzCommand
  9.   #--------------------------------------------------------------------------
  10.   # ● 获取窗口的宽度
  11.   #--------------------------------------------------------------------------
  12.   alias window_width_a window_width
  13.   def window_width
  14.     180
  15.   end
  16.   #---------------------------------------------------------------------
  17.   # ● 获取列数
  18.   #--------------------------------------------------------------------------
  19.   alias col_max_a col_max
  20.   def col_max
  21.     return 2
  22.   end
  23.   alias make_command_list_a make_command_list
  24.   def make_command_list
  25.     add_command(Vocab::item,     :item)
  26.     add_command(Vocab::key_item, :key_item)
  27.   end
  28. end
  29. class Window_ItemList < Window_Selectable
  30.   #---------------------------------------------------------------------
  31.   # ● 获取列数
  32.   #--------------------------------------------------------------------------
  33.   alias col_max_a col_max
  34.   def col_max
  35.     return 1
  36.   end
  37. end
  38. class Scene_Item <Scene_ItemBase

  39.   #--------------------------------------------------------------------------
  40.   # ● 生成物品窗口
  41.   #--------------------------------------------------------------------------
  42.   alias create_item_window_a create_item_window
  43.   def create_item_window
  44.     @help_window.opacity=0
  45.     wy = @category_window.y + @category_window.height
  46.     wh = Graphics.height - wy
  47.     @item_window = Window_ItemList.new(0, wy, 180, wh)
  48.     @item_window.viewport = @viewport
  49.     @item_window.help_window = @help_window
  50.     @item_window.set_handler(:ok,     method(:on_item_ok))
  51.     @item_window.set_handler(:cancel, method(:on_item_cancel))
  52.     @category_window.item_window = @item_window
  53.   end
  54. end
复制代码

作者: tyq4590    时间: 2013-8-29 08:37
不知道我理解的对不对,你要的是:按下X不再打开主菜单,而是打开物品栏?如果是这样请修改:

Scene_Map第188行:

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● 打开菜单画面
  3. #--------------------------------------------------------------------------
  4. def call_menu
  5.   Sound.play_ok
  6.   SceneManager.call(Scene_Menu)
  7.   Window_MenuCommand::init_command_position
  8. end


改为:

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● 打开菜单画面
  3. #--------------------------------------------------------------------------
  4. def call_menu
  5.   Sound.play_ok
  6.   SceneManager.call(Scene_Item)
  7.   Window_MenuCommand::init_command_position
  8. end

作者: 喵呜喵5    时间: 2013-8-29 12:51
tyq4590 发表于 2013-8-29 08:37
不知道我理解的对不对,你要的是:按下X不再打开主菜单,而是打开物品栏?如果是这样请修改:

Scene_Map第 ...

会自动关闭
作者: 李光兆    时间: 2013-8-29 12:56
这是用WOLF RPG做的 所以如果要用XP VX VA做可能有些困难
但是楼上的大触触们实在是厉害。
用X键呼出物品栏的方法……直接把某些脚本删掉?还是做一个原本按ESC出现菜单现在直接出现物品界面然后改一下物品脚本?
作者: lanlongeyu    时间: 2013-8-29 15:09
李光兆 发表于 2013-8-29 12:56
这是用WOLF RPG做的 所以如果要用XP VX VA做可能有些困难
但是楼上的大触触们实在是厉害。
用X键呼出物品栏 ...

换一个键是不是好些。比如ASD啊啊~一定要X么。
作者: yangjunyin2002    时间: 2013-8-29 15:17
这个很容易实现啊。。。可惜我是VX党。。。VA和VX的脚本应该有些是一样的吧。。。第一个问题找到“scene_map”把里面的“menu”修改成“Item”,里面的切换菜单场景的语句,也是把“menu”改成“Item”。。。
然后第二个问题很简单。。。我的实现方法是这样的:

还是等我晚上回家后详细说吧。。。顺便贴脚本,然后等我啊!我急需VIP的说
作者: 1715063941    时间: 2013-8-30 02:45
话说孤有一个ACE菜单=-=
可以定制菜单=-=




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