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

Project1

 找回密码
 注册会员
搜索

[XP]怎么用开关控制Fuki对话框啊

查看数: 4382 | 评论数: 14 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-8-5 10:37

正文摘要:

游戏中有些时候不用Fuki对话框... 我参照【物品得失显示】脚本在【Fuki对话框】脚本最前面加了这个 $开关 = 50 if $game_switches[$开关]== true 然后在脚本最后面加上 end 但是会显示【if $game_switches[$开 ...

回复

573932914 发表于 2014-8-7 22:55:47
if 开关开了
FUKI脚本
else
默认脚本
end

点评

所以说我1L就是这样设置的不行啊  发表于 2014-8-7 22:57
RyanBern 发表于 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
复制代码
哆啦溯 发表于 2014-8-7 21:32:03
RyanBern 发表于 2014-8-7 09:56
先重申一下LZ要问的问题,LZ要问的问题是,怎么样用一个开关控制FUKI脚本的打开和关闭。比方说关闭5号开关 ...

恩……
在Scene_Map的何处插入“@fuki_disabled = $game_switches[$开关]”这一段?
“在update最前面添加如下脚本”是Scene_Map里面的
RUBY 代码复制
  1. # 刷新游戏画面
  2.       Graphics.update
  3.       # 刷新输入信息
  4.       Input.update
  5.       # 刷新画面
  6.       update

之前加吗?变成这样?
RUBY 代码复制
  1. # 主循环
  2.     loop do
  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.       # 刷新游戏画面
  9.       Graphics.update
  10.       # 刷新输入信息
  11.       Input.update
  12.       # 刷新画面
  13.       update


对不起理解力不好{:2_264:}

点评

加油理解吧,等你理解好了我就可以照抄了◕ ‿‿ ◕  发表于 2014-8-7 21:47
哆啦溯 发表于 2014-8-7 15:24:47
RyanBern 发表于 2014-8-7 09:56
先重申一下LZ要问的问题,LZ要问的问题是,怎么样用一个开关控制FUKI脚本的打开和关闭。比方说关闭5号开关 ...

谢谢大神用心的回复。理解了一下你说的话
是不是,给系统原来的Window_InputNumber改名为Window_InputNumber_A
然后将
RUBY 代码复制
  1. @input_number_window = Window_InputNumber.new(digits_max)

替换为
RUBY 代码复制
  1. if $game_switches[$开关]
  2.   @input_number_window = Window_InputNumber_A.new(digits_max)
  3. else
  4.   @input_number_window = Window_InputNumber.new(digits_max)
  5. end



另外
如何“在Scene_Map里面添加一个实变量@fuki_disabled,并将其初始化为$game_switches[$开关]”?不懂操作...

点评

第一个问题,是的。第二个问题,其实就是@fuki_disabled = $game_switches[$开关]一句。  发表于 2014-8-7 19:13
RyanBern 发表于 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 好评

查看全部评分

573932914 发表于 2014-8-6 23:05:27
那就在判断开关的时候,如果开关没打开,则将原本的文章脚本粘进开关关闭的场合

点评

Fuki对话框脚本是写在脚本编辑器里的  发表于 2014-8-7 00:15
无忧谷主幻 发表于 2014-8-6 11:03:39
哆啦溯 发表于 2014-8-6 09:50
@无忧谷主幻 你别点评啊,我没办法回复你了
话说连$mes_id = nil 都不知道= =?你没看过脚本吗  ...

哪能全部记住
而且加了有什么用,和没加一个样子
最主要的是隐藏对话框啊!!!

点评

话说我们什么时候能帮小溯解决问题啊  发表于 2014-8-6 18:43
不就是不显示对话框底嘛, 很简单. 可是今天没时间了555  发表于 2014-8-6 18:24
更改文章选项,窗口位置有个不显示。你可以点一下试试  发表于 2014-8-6 17:46
没搜到  发表于 2014-8-6 13:31
隐藏对话框的意义,建议你去搜索一下  发表于 2014-8-6 13:27
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-24 20:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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