查看: 2159|回复: 6

[已经解决] 求助,怎么在游戏过程中换自备的对话框素材?

[复制链接]
梦石
0
星屑
50
在线时间
45 小时
注册时间
2013-7-7
回帖
14
发表于 2014-8-15 09:25:01 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
求解答 谢谢~

…あたしは天

梦石
0
星屑
2311
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-15 09:30:56 | 显示全部楼层
未测试。更改1号变量的值应该就可以修改之后的窗口皮肤了

[pre lang="ruby" line="1"]class Window_Base < Window

  def initialize(x, y, width, height)
    super
    self.windowskin = Cache.system(windowskin_filename)
    update_padding
    update_tone
    create_contents
    @opening = @closing = false
  end

  def windowskin_filename
    return "Window" unless $game_variables
    case $game_variables[1] # 1号变量
    when 0 # 为0时
      "Window" # 使用 System 文件夹的 Window.png
    when 1 # 为1时
      "Window1"
    when 2 # 为2时
      "Window2"
    # 可自行添加
    else # 不是以上情况时
      "Window"
    end
  end
end[/pre]

评分

参与人数 2星屑 +10 梦石 +1 收起 理由
3106345123 + 10 认可答案
VIPArcher + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
45 小时
注册时间
2013-7-7
回帖
14
 楼主| 发表于 2014-8-15 16:05:20 | 显示全部楼层
taroxd 发表于 2014-8-15 09:30
未测试。更改1号变量的值应该就可以修改之后的窗口皮肤了

class Window_Base < Window

很有用,非常感谢~
回复

使用道具 举报

梦石
0
星屑
50
在线时间
45 小时
注册时间
2013-7-7
回帖
14
 楼主| 发表于 2014-8-16 14:51:53 | 显示全部楼层
taroxd 发表于 2014-8-15 09:30
未测试。更改1号变量的值应该就可以修改之后的窗口皮肤了

class Window_Base < Window

再次打扰了,但我经过几次测试发现,改了变量后对话框并不会马上改变,必须要打开一次菜单才能使对话框改变,有没有办法解决这个问题?
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2311
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-16 14:58:35 | 显示全部楼层
本帖最后由 taroxd 于 2014-8-17 05:59 编辑
kikakiko 发表于 2014-8-16 14:51
再次打扰了,但我经过几次测试发现,改了变量后对话框并不会马上改变,必须要打开一次菜单才能使对话框改 ...


更改变量时改掉当前所有窗口的皮肤即可

每次更改那个变量后调用脚本(未测试):
[pre lang="ruby" line="1"]

class Game_Interpreter

def update_windowskin


SceneManager.scene.instance_variables.each do |varname|
  ivar = SceneManager.scene.instance_variable_get(varname)
  if ivar.respond_to?(:windowskin=)
    ivar.windowskin = Cache.system(ivar.windowskin_filename)
  end
end


end

end



[/pre]



回复

使用道具 举报

梦石
0
星屑
50
在线时间
45 小时
注册时间
2013-7-7
回帖
14
 楼主| 发表于 2014-8-17 00:48:52 | 显示全部楼层
还是不行啊,运行到那里后它说
脚本Game_Interpreter第1411行:发生Synatax Error
unexpected keyword_do_block, expecting $end do |varname|

点评

嗯,这样可以了,谢啦  发表于 2014-8-17 09:52
出问题的原因应该是你在事件脚本中换行  发表于 2014-8-17 06:00
改了一下,当插件脚本用吧。事件脚本中调用 update_windowskin  发表于 2014-8-17 06:00
回复

使用道具 举报

梦石
0
星屑
50
在线时间
45 小时
注册时间
2013-7-7
回帖
14
 楼主| 发表于 2014-8-17 00:51:28 | 显示全部楼层
taroxd 发表于 2014-8-16 14:58
更改变量时改掉当前所有窗口的皮肤即可

每次更改那个变量后调用脚本(未测试):

忘记写在回复里了。。看一下楼上 谢谢!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部