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

Project1

 找回密码
 注册会员
搜索
楼主: 哆啦溯
打印 上一主题 下一主题

[推荐问答] [XP]怎么用开关控制Fuki对话框啊

[复制链接]

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

1
发表于 2014-8-7 09:56:58 | 显示全部楼层
先重申一下LZ要问的问题,LZ要问的问题是,怎么样用一个开关控制FUKI脚本的打开和关闭。比方说关闭5号开关时,FUKI脚本正常运行,打开5号开关时,使用默认的对话框,就好像FUKI脚本没有插入一样。就这样看来,LS的几个回答除了恐惧剑刃的以外,都有问题。
然后再解释一下为什么LZ提出的方案不可以。这是因为“开关”这一事物出现在游戏读档之后(即进入地图之后),进入标题画面是没有开关的。所以不能用开关控制。再退一步讲,即使用开关控制,那也只是控制了一个编译的过程,我们不希望FUKI脚本不经过编译,那样在游戏中FUKI脚本就根本不存在了。因此这并不是一个解决问题的方法。
所以最简单的方法应该像恐惧剑刃说的那样,保留两个Window_Message,给系统原来的Window_Message改名为Window_Message_A,其它的不用变。然后在Scene_Map里控制到底该用哪个窗口,找到下面一句:
  1. @message_window = Window_Message.new
复制代码
替换成下面的:
  1. if $game_switches[$开关]
  2.   @message_window = Window_Message_A.new
  3. else
  4.   @message_window = Window_Message.new
  5. end
复制代码
然后注意到FUKI脚本重新定义了Window_InputNumber,所以也要把默认Window_InputNumber修改一下。不过Window_InputNumber不在Scene_Map中生成,而是在Window_Message_A里面生成,在Window_Message_A里面找到下面一句:
  1. @input_number_window = Window_InputNumber.new(digits_max)
复制代码
和Window_Message_A一样,利用开关判断然后替换即可。

不过还有一个问题,就是这样修改的话,只有退出地图(比方说进入菜单),然后再进入地图后,修改才可以生效,没有实时性。因此有必要进行如下更改来增强实时性:
首先在Scene_Map里面添加一个实变量@fuki_disabled,并将其初始化为$game_switches[$开关]
然后在update最前面添加如下脚本:
  1. if @fuki_disabled != $game_switches[$开关]
  2.   @fuki_disabled = $game_switches[$开关]
  3.   @message_window.dispose
  4.   @message_window = @fuki_disabled ? Window_Message_A.new : Window_Message.new
  5. end
复制代码

评分

参与人数 2星屑 +70 收起 理由
哆啦溯 + 20 好人
牛肉面 + 50 好评

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2014-8-7 22:01:02 | 显示全部楼层
哆啦溯 发表于 2014-8-7 21:32
恩……
在Scene_Map的何处插入“@fuki_disabled = $game_switches[$开关]”这一段?
“在update最前面添 ...

第一个问题,紧跟在在def main就行。
第二个问题,我还是别手把手教了,直接上脚本吧。其实就是重新定义update
  1. alias old_update update
  2. def update
  3.   if @fuki_disabled != $game_switches[$开关]
  4.     @fuki_disabled = $game_switches[$开关]
  5.     @message_window.dispose
  6.     @message_window = @fuki_disabled ? Window_Message_A.new : Window_Message.new
  7.   end
  8.   old_update
  9. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-14 00:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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