查看: 2558|回复: 0

[VIPArcher] 【暗色对话框控制】

[复制链接]

无限の剣制

梦石
0
星屑
10445
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-11-18 19:38:26 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 VIPArcher 于 2015-1-25 21:30 编辑

将暗色对话框改为使用图片,可以做到对话框背景自定义一类的功能,也可以在对话框背景上加上立绘啥的。
通过对设定的变量进行赋值,来对使用的图片进行更改。(就是用来偷懒的,事件完全可以做到一样的功能。
使用方法就是显示对话前对设定的变量进行赋值,决定使用的背景图,然后显示对话使用暗色背景就可以了。
[pre lang="ruby" line="1"]#===============================================================================
#  暗色对话框控制 By:VIPArcher
#===============================================================================
#  -- 本脚本来自 https://rpg.blue 使用或转载请保留以上信息。
#  说明:对话中使用暗色对话框,并对变量1赋值可以控制对话所使用的背景图,
#    文件名规格是"Message_"+ 变量1的值
#    例如"Message_0.png" 或者"Message_VIPArcher.png"
#===============================================================================
$VIPArcherScript ||= {};$VIPArcherScript[:message_back] = 20141117
#==============================================================================
# ● 设定区
#==============================================================================
module VIPArcher end
module VIPArcher::MESSAGE
  AFFIX_VER = 1        #控制文件后缀名的变量ID
  BACK_NAME = "Message"#背景图片名字的前缀
end
#-------------------------------------------------------------------------------
class Window_Message < Window_Base
  include VIPArcher::MESSAGE
  #--------------------------------------------------------------------------
  # ● 生成背景位图
  #--------------------------------------------------------------------------
  alias vip_20141117_create_back_bitmap create_back_bitmap
  def create_back_bitmap
    back_bitmap_name = BACK_NAME + "_" + $game_variables[AFFIX_VER].to_s
    begin
    @back_bitmap = Cache.system(back_bitmap_name)# rescue Cache.system(BACK_NAME)
    rescue
    vip_20141117_create_back_bitmap
    end
    @game_variables = $game_variables[AFFIX_VER]
  end
  #--------------------------------------------------------------------------
  # ● 更新背景精灵
  #--------------------------------------------------------------------------
  alias vip_20141117_update_back_sprite update_back_sprite
  def update_back_sprite
    vip_20141117_update_back_sprite
    @back_sprite.y = Graphics.height - @back_bitmap.height
  end
  #--------------------------------------------------------------------------
  # ● 更新窗口背景
  #--------------------------------------------------------------------------
  alias vip_20141117_update_background update_background
  def update_background
    dispose_back_bitmap
    dispose_back_sprite
    create_back_bitmap
    create_back_sprite
    vip_20141117_update_background
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias vip_20141117_update update
  def update
    vip_20141117_update
    update_background if @game_variables != $game_variables[AFFIX_VER]
  end
end[/pre]

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

在本发帖返回顶部