Project1

标题: XP版本如何制作让玩家可以自定义选择和删除UI系统 [打印本页]

作者: 1044858477    时间: 2017-5-11 16:32
标题: XP版本如何制作让玩家可以自定义选择和删除UI系统
本帖最后由 1044858477 于 2017-5-11 17:32 编辑

  希望大大能给些建议,指点迷津。

  想通过XP版本,制作一个类似尼尔:机械纪元那样的可以选择各种UI,甚至是删除UI,并且都是功能性的UI,如显示血条的UI,显示经验的UI,以及显示人物头像的UI等等这些功能性的界面。
  
换句话说,本人是个不自量力的新人,但十分地想制作这个系统,玩家可以在一个菜单里看到一列表的UI功能介绍,然后可以自定义地选择哪个添加到画面中,哪一个删除。
作者: 1044858477    时间: 2017-5-11 16:49
  
  贴上两张图,这是尼尔的菜单系统,里面有一个HUD显示血条的菜单,可供删除和添加,尼尔自称为芯片系统。
作者: 十三点九进制    时间: 2017-5-11 21:24
加上一个开关判断就是了吧……
作者: 卡奥尼特    时间: 2017-5-12 11:00
我說,錯區了吧。。。 好像可以發水區來著。
作者: 1044858477    时间: 2017-5-12 12:32
十三点九进制 发表于 2017-5-11 21:24
加上一个开关判断就是了吧……

开关判定?是要用脚本写的吗?
作者: hys111111    时间: 2017-5-14 09:36
一个UI写出来你可以保留UI的脚本但不显示的方法就是不去调用它。

你写一个UI系统只要找到调用的地方就可以了。

比如说你在地图上显示金钱。
RUBY 代码复制
  1. class Scene_Map
  2.  
  3.   alias old_main main
  4.   def main
  5.     @gold_window = Window_Gold.new
  6.     old_main
  7.     @gold_window.dispose
  8.   end
  9.  
  10.   alias old_update update
  11.   def update
  12.     @gold_window.update
  13.     old_update
  14.   end
  15.  
  16. end


如果在1号开关不开的时候不去调用它,你可以加判断,注意上下的对比。

同样道理,比如你写了一个Window_Hud1,你需要找到Window_Hud1.new的地方,就是它调用的地方。
RUBY 代码复制
  1. class Scene_Map
  2.  
  3.   alias old_main main
  4.   def main
  5.     @gold_window = Window_Gold.new if $game_switches[1] # 1号开关关闭时不开
  6.     old_main
  7.     @gold_window.dispose if @gold_window != nil # 同时dispose和update的地方要加判断,因为1号开关不开时@gold_window为nil会出错
  8.   end
  9.  
  10.   alias old_update update
  11.   def update
  12.     @gold_window.update if @gold_window != nil # 同时dispose和update的地方要加判断,因为1号开关不开时@gold_window为nil会出错
  13.     old_update
  14.   end
  15.  
  16. end

作者: 1044858477    时间: 2017-5-26 00:58
hys111111 发表于 2017-5-14 09:36
一个UI写出来你可以保留UI的脚本但不显示的方法就是不去调用它。

你写一个UI系统只要找到调用的地方就可以 ...

实在感谢,我会好好参考。
  
但是,在提出这个问题的时候,我还在迷迷糊糊地用XP,现在我上手了VA ACE版本,决定用选项窗口来代替。
  
再次感谢!!!




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