#===============================================================================
# ■ [VA] 打字效果的帮助窗口
# [VA] TypingHelp
#-------------------------------------------------------------------------------
# 让显示物品说明的帮助窗口有打字效果
#
#-------------------------------------------------------------------------------
# 更新作者: DeathKing
# 许可协议: FSL
# 项目版本: 1.0.0930
# 最后更新: 2013-09-30
# 引用网址:
#-------------------------------------------------------------------------------
# 如果只需要部分应用打字效果,请将下面的“覆写模式”选项设置为false,并手动为需要
# 的窗口设置为 Window_HelpEx 。这个功能只推荐高级玩家使用。
#
#-------------------------------------------------------------------------------
# - 1.0.0930 By DeathKing
# * 初始版本完成;
#
#===============================================================================
$fscript ||= {}
$fscript["TypingHelp"] = "1.0.0930"
#-------------------------------------------------------------------------------
# ▼ 登记FSL
#-------------------------------------------------------------------------------
module FSL
module TypingHelp
# 每几帧刷新一个字
# 推荐设置:1、2、3
TURN = 2
# 覆写模式:是否用此脚本替代原有的Window_Help
# 推荐设置:false
OVERWRITE_WINDOW_HELP = true
end
end
#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
# 显示特技和物品等的说明、以及角色状态的窗口
#==============================================================================
class Window_HelpEx < Window_Help
include FSL::TypingHelp
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize(line_number = 2)
super
@text = ""
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
contents.clear
reset_font_settings
@text = convert_escape_characters(@text)
@pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(@text)}
update
end
#--------------------------------------------------------------------------
# ● 更新
#--------------------------------------------------------------------------
def update
if Graphics.frame_count % TURN == 0
process_character(@text.slice!(0, 1), @text, @pos) unless @text.empty?
end
end
end
Window_Help = Window_HelpEx if FSL::TypingHelp::OVERWRITE_WINDOW_HELP