赞 | 0 |
VIP | 86 |
好人卡 | 6 |
积分 | 1 |
经验 | 109856 |
最后登录 | 2019-2-14 |
在线时间 | 2590 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 73
- 在线时间
- 2590 小时
- 注册时间
- 2010-6-20
- 帖子
- 901
|
#==============================================================================
# 随机渐变,区域控制战斗背景图 by 沉影不器
#------------------------------------------------------------------------------
# 功能描述: ① 使用区域名称定义不同的战斗背景图
# 如果没有找到背景图,则使用RMVX默认眩晕背景
# ② 进入战斗时,随机使用渐变效果
# 使用方法: ① 复制脚本,插入到Main之前
# ② 在Graphics文件夹下新建Battlebacks文件夹用于存放战斗背景图
# 您也可以在脚本第16行自行设定路径
# ③ 准备与区域名称相同的战斗背景图到您设定的战斗背景图文件夹内
# ④ 在Graphics文件夹下新建Transitions文件夹用于存放渐变图
# 您也可以在脚本第17行自行设定路径
# ⑤ 在脚本第18行设定战斗背景图的后缀名
# ⑥ 在脚本第19行设定是否直接用地图做战斗图
#------------------------------------------------------------------------------
B_PATH = "Graphics/战斗背景/" # 设定战斗背景图存储路径
EXTNAME = ".png" # 设定战斗背景图后缀名
DIRECT_MAP = false # 设定是否直接用地图做战斗图
#==============================================================================
module Cache
#--------------------------------------------------------------------------
# ● 获取战斗背景图
# filename : 文件名
# hue : 色相变化值
#--------------------------------------------------------------------------
def self.battleback(filename, hue)
load_bitmap(B_PATH, filename, hue)
end
end
#==============================================================================
# ■ Spriteset_Battle
#------------------------------------------------------------------------------
# 处理战斗画面的活动块的类。本类在 Scene_Battle 类
# 的内部使用。
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● 生成战斗背景活动块
#--------------------------------------------------------------------------
def create_battleback
for area in $data_areas.values
break if $game_player.in_area?(area)
end
@battleback_sprite = Sprite.new(@viewport1)
if area != nil and FileTest.exist?(B_PATH+area.name+EXTNAME) and !DIRECT_MAP
@battleback_sprite.bitmap = Cache.battleback(area.name, 0)
else
source = $game_temp.background_bitmap
bitmap = Bitmap.new(544, 416)
bitmap.stretch_blt(bitmap.rect, source, source.rect)
bitmap.radial_blur(90, 12) unless DIRECT_MAP
@battleback_sprite.bitmap = bitmap
@battleback_sprite.ox = 320
@battleback_sprite.oy = 240
@battleback_sprite.x = 272
@battleback_sprite.y = 176
@battleback_sprite.wave_amp = 8 unless DIRECT_MAP
@battleback_sprite.wave_length = 240 unless DIRECT_MAP
@battleback_sprite.wave_speed = 120 unless DIRECT_MAP
end
end
end
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# 处理标题画面的类。
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# ● 载入战斗测试用的数据库
#--------------------------------------------------------------------------
alias bg_load load_bt_database
def load_bt_database
bg_load
$data_areas = load_data("Data/Areas.rvdata")
end
end |
|