Project1

标题: 在vx中如何临时更换窗口图? [打印本页]

作者: 冰舞蝶恋    时间: 2010-8-16 11:41
标题: 在vx中如何临时更换窗口图?
就是。。。可否在游戏中通过一些脚本来实现像xp一样的更换窗口外观?
作者: 八云紫    时间: 2010-8-16 11:52
窗口类里有个属性是 windowskin ,可以改这个属性来更换窗口图片。

作者: 冰舞蝶恋    时间: 2010-8-16 11:56
?误会了
初始的窗口我会改
只是希望通过临时的脚本来更改外观
作者: 八云紫    时间: 2010-8-16 12:26
回复 冰舞蝶恋 的帖子

    就是我说的那个,不同的窗口不同的外框~~
作者: 54cn    时间: 2010-8-16 12:55
有缘,我也想过这个类似的问题,但还是找到了脚本。
  1. $default_winskin = "Window" # 默认窗口外观

  2. class Game_Interpreter
  3. #--------------------------------------------------------------------------
  4. # ● 更改窗口外观
  5. #--------------------------------------------------------------------------
  6. def change_windowskin(winskin=nil)
  7.    if winskin
  8.      # 设定素材名称
  9.      $game_system.windowskin_name = winskin
  10.    else
  11.      # 回复默认名称
  12.      $game_system.windowskin_name = $default_winskin
  13.    end
  14.    return true
  15. end
  16. end

  17. class Game_System
  18. #--------------------------------------------------------------------------
  19. # ● 获取窗口外观名称
  20. #--------------------------------------------------------------------------
  21. def windowskin_name
  22.    if @windowskin_name == nil
  23.      return $default_winskin
  24.    else
  25.      return @windowskin_name
  26.    end
  27. end
  28. #--------------------------------------------------------------------------
  29. # ● 更改窗口外观名称
  30. #--------------------------------------------------------------------------
  31. def windowskin_name=(winskin)
  32.    @windowskin_name = winskin
  33. end
  34. end

  35. class Window_Base < Window
  36. #--------------------------------------------------------------------------
  37. # ● 初始化窗口
  38. #--------------------------------------------------------------------------
  39. alias winskin_initialize initialize
  40. def initialize(x, y, width, height)
  41.    winskin_initialize(x, y, width, height)
  42.    @windowskin_name = $game_system.windowskin_name
  43.    self.windowskin = Cache.system(@windowskin_name)
  44. end
  45. #--------------------------------------------------------------------------
  46. # ● 更新窗口
  47. #--------------------------------------------------------------------------
  48. alias winskin_update update
  49. def update
  50.    winskin_update
  51.    if $game_system.windowskin_name != @windowskin_name
  52.      @windowskin_name = $game_system.windowskin_name
  53.      self.windowskin = Cache.system(@windowskin_name)
  54.    end
  55. end
  56. end
复制代码
使用方法:插入在Main前,然后把要换的窗口皮肤放到System文件夹里,要换的时候脚本:
  1. change_windowskin("皮肤文件名")
复制代码


如果要换回默认就脚本:
  1. change_windowskin
复制代码



作者: 冰舞蝶恋    时间: 2010-8-16 13:59
感谢~~




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