Project1

标题: 修改默认脚本是否可以达到不同场景不同窗口 [打印本页]

作者: 负零    时间: 2010-8-20 02:11
标题: 修改默认脚本是否可以达到不同场景不同窗口
请问修改默认脚本是否可以达到这种效果
在调用商店场合时用WINDOWSKIN1
在调用【比如说】合成脚本场合时用WINDOWSKIN2...
如果可以,怎么改
作者: 54cn    时间: 2010-8-20 08:35
又有一个人问这个问题,不会搜索吗?
  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-21 02:26
OK 谢谢楼上...
还真不知有这样一个脚本




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