| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 4 |  
| 经验 | 868 |  
| 最后登录 | 2014-6-14 |  
| 在线时间 | 628 小时 |  
 Lv2.观梦者 
	梦石0 星屑448 在线时间628 小时注册时间2011-9-27帖子3996 | 
| 本帖最后由 小白玩家 于 2011-12-18 17:44 编辑 
 战斗背景脚本可以帮助你实现
 原帖地址复制代码#============================================================================== 
# 随机渐变,区域控制战斗背景图 by 沉影不器 
#------------------------------------------------------------------------------ 
# 功能描述: ① 使用区域名称定义不同的战斗背景图 
# 如果没有找到背景图,则使用RMVX默认眩晕背景 
# ② 进入战斗时,随机使用渐变效果 
# 使用方法: ① 复制脚本,插入到Main之前 
# ② 在Graphics文件夹下新建Battlebacks文件夹用于存放战斗背景图 
# 您也可以在脚本第16行自行设定路径 
# ③ 准备与区域名称相同的战斗背景图到您设定的战斗背景图文件夹内 
# ④ 在Graphics文件夹下新建Transitions文件夹用于存放渐变图 
# 您也可以在脚本第17行自行设定路径 
# ⑤ 在脚本第18行设定战斗背景图的后缀名 
# ⑥ 在脚本第19行设定是否直接用地图做战斗图 
#------------------------------------------------------------------------------ 
B_PATH = "Graphics/Battlebacks/" # 设定战斗背景图存储路径 
T_PATH = "Graphics/Battlebacks/" # 设定渐变图存储路径 
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(640, 480) 
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 
#============================================================================== 
# ■ Scene_Map 
#------------------------------------------------------------------------------ 
#  处理地图画面的类。 
#============================================================================== 
class Scene_Map < Scene_Base 
#-------------------------------------------------------------------------- 
# ● 执行战斗前变换 
#-------------------------------------------------------------------------- 
def perform_battle_transition 
file = Dir.entries(T_PATH) 
file.delete(".");file.delete("..") 
file_index = rand(file.size) 
Graphics.transition(80, T_PATH + file[file_index], 80) 
Graphics.freeze 
end 
end
http://rpg.blue/forum.php?mod=vi ... A%E6%B8%90%E5%8F%98
 | 
 |