Project1

标题: 【暗色对话框控制】 [打印本页]

作者: VIPArcher    时间: 2014-11-18 19:38
标题: 【暗色对话框控制】
本帖最后由 VIPArcher 于 2015-1-25 21:30 编辑

将暗色对话框改为使用图片,可以做到对话框背景自定义一类的功能,也可以在对话框背景上加上立绘啥的。
通过对设定的变量进行赋值,来对使用的图片进行更改。(就是用来偷懒的,事件完全可以做到一样的功能。
使用方法就是显示对话前对设定的变量进行赋值,决定使用的背景图,然后显示对话使用暗色背景就可以了。
RUBY 代码复制
  1. #===============================================================================
  2. #  暗色对话框控制 By:VIPArcher
  3. #===============================================================================
  4. #  -- 本脚本来自 [url]https://rpg.blue[/url] 使用或转载请保留以上信息。
  5. #  说明:对话中使用暗色对话框,并对变量1赋值可以控制对话所使用的背景图,
  6. #    文件名规格是"Message_"+ 变量1的值
  7. #    例如"Message_0.png" 或者"Message_VIPArcher.png"
  8. #===============================================================================
  9. $VIPArcherScript ||= {};$VIPArcherScript[:message_back] = 20141117
  10. #==============================================================================
  11. # ● 设定区
  12. #==============================================================================
  13. module VIPArcher end
  14. module VIPArcher::MESSAGE
  15.   AFFIX_VER = 1        #控制文件后缀名的变量ID
  16.   BACK_NAME = "Message"#背景图片名字的前缀
  17. end
  18. #-------------------------------------------------------------------------------
  19. class Window_Message < Window_Base
  20.   include VIPArcher::MESSAGE
  21.   #--------------------------------------------------------------------------
  22.   # ● 生成背景位图
  23.   #--------------------------------------------------------------------------
  24.   alias vip_20141117_create_back_bitmap create_back_bitmap
  25.   def create_back_bitmap
  26.     back_bitmap_name = BACK_NAME + "_" + $game_variables[AFFIX_VER].to_s
  27.     begin
  28.     @back_bitmap = Cache.system(back_bitmap_name)# rescue Cache.system(BACK_NAME)
  29.     rescue
  30.     vip_20141117_create_back_bitmap
  31.     end
  32.     @game_variables = $game_variables[AFFIX_VER]
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 更新背景精灵
  36.   #--------------------------------------------------------------------------
  37.   alias vip_20141117_update_back_sprite update_back_sprite
  38.   def update_back_sprite
  39.     vip_20141117_update_back_sprite
  40.     @back_sprite.y = Graphics.height - @back_bitmap.height
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 更新窗口背景
  44.   #--------------------------------------------------------------------------
  45.   alias vip_20141117_update_background update_background
  46.   def update_background
  47.     dispose_back_bitmap
  48.     dispose_back_sprite
  49.     create_back_bitmap
  50.     create_back_sprite
  51.     vip_20141117_update_background
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 更新画面
  55.   #--------------------------------------------------------------------------
  56.   alias vip_20141117_update update
  57.   def update
  58.     vip_20141117_update
  59.     update_background if @game_variables != $game_variables[AFFIX_VER]
  60.   end
  61. end





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