Project1

标题: 求助,怎么在游戏过程中换自备的对话框素材? [打印本页]

作者: kikakiko    时间: 2014-8-15 09:25
标题: 求助,怎么在游戏过程中换自备的对话框素材?
求解答 谢谢~
作者: taroxd    时间: 2014-8-15 09:30
未测试。更改1号变量的值应该就可以修改之后的窗口皮肤了

RUBY 代码复制
  1. class Window_Base < Window
  2.  
  3.   def initialize(x, y, width, height)
  4.     super
  5.     self.windowskin = Cache.system(windowskin_filename)
  6.     update_padding
  7.     update_tone
  8.     create_contents
  9.     @opening = @closing = false
  10.   end
  11.  
  12.   def windowskin_filename
  13.     return "Window" unless $game_variables
  14.     case $game_variables[1] # 1号变量
  15.     when 0 # 为0时
  16.       "Window" # 使用 System 文件夹的 Window.png
  17.     when 1 # 为1时
  18.       "Window1"
  19.     when 2 # 为2时
  20.       "Window2"
  21.     # 可自行添加
  22.     else # 不是以上情况时
  23.       "Window"
  24.     end
  25.   end
  26. end

作者: kikakiko    时间: 2014-8-15 16:05
taroxd 发表于 2014-8-15 09:30
未测试。更改1号变量的值应该就可以修改之后的窗口皮肤了

class Window_Base < Window

很有用,非常感谢~
作者: kikakiko    时间: 2014-8-16 14:51
taroxd 发表于 2014-8-15 09:30
未测试。更改1号变量的值应该就可以修改之后的窗口皮肤了

class Window_Base < Window

再次打扰了,但我经过几次测试发现,改了变量后对话框并不会马上改变,必须要打开一次菜单才能使对话框改变,有没有办法解决这个问题?
作者: taroxd    时间: 2014-8-16 14:58
本帖最后由 taroxd 于 2014-8-17 05:59 编辑
kikakiko 发表于 2014-8-16 14:51
再次打扰了,但我经过几次测试发现,改了变量后对话框并不会马上改变,必须要打开一次菜单才能使对话框改 ...


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

每次更改那个变量后调用脚本(未测试):
RUBY 代码复制
  1. class Game_Interpreter
  2.  
  3. def update_windowskin
  4.  
  5.  
  6. SceneManager.scene.instance_variables.each do |varname|
  7.   ivar = SceneManager.scene.instance_variable_get(varname)
  8.   if ivar.respond_to?(:windowskin=)
  9.     ivar.windowskin = Cache.system(ivar.windowskin_filename)
  10.   end
  11. end
  12.  
  13.  
  14. end
  15.  
  16. end





作者: kikakiko    时间: 2014-8-17 00:48
还是不行啊,运行到那里后它说
脚本Game_Interpreter第1411行:发生Synatax Error
unexpected keyword_do_block, expecting $end do |varname|
作者: kikakiko    时间: 2014-8-17 00:51
taroxd 发表于 2014-8-16 14:58
更改变量时改掉当前所有窗口的皮肤即可

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

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




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