设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 12582|回复: 17

随机渐变,区域控制战斗背景图

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2007-5-27
帖子
2560

第1届Title华丽大赛新人奖

发表于 2008-4-3 05:22:24 | 显示全部楼层 |阅读模式

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

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

x
昨天刚刚下载的rmvx,比较详细地看了RPGVX Data Structures这部分.
今晚上交这份新手脚本.
战斗背景图和渐变图都是rmxp里拷来的


区域控制战斗背景图 by 沉影不器

功能描述: ① 使用区域名称定义不同的战斗背景图
              如果没有找到背景图,则使用RMVX默认眩晕背景
           ② 进入战斗时,随机使用渐变效果
使用方法: ① 复制脚本,插入到Main之前
           ② 在Graphics文件夹下新建Battlebacks文件夹用于存放战斗背景图
              您也可以在脚本第16行自行设定路径
           ③ 准备与区域名称相同的战斗背景图到您设定的战斗背景图文件夹内
           ④ 在Graphics文件夹下新建Transitions文件夹用于存放渐变图
              您也可以在脚本第17行自行设定路径
           ⑤ 在脚本第18行设置战斗背景图的后缀名
           ⑥ 在脚本第19行设定是否直接用地图做战斗图

说明:






战斗背景1 河边


战斗背景2 草地


战斗背景3 沙漠


用地图做战斗图


随机渐变就没得截图了,就是随机抽取"Graphics\Transitions"文件夹里的图片,详见范例工程的效果好了.

  1. #==============================================================================
  2. # 随机渐变,区域控制战斗背景图 by 沉影不器
  3. #------------------------------------------------------------------------------
  4. # 功能描述: ① 使用区域名称定义不同的战斗背景图
  5. #              如果没有找到背景图,则使用RMVX默认眩晕背景
  6. #           ② 进入战斗时,随机使用渐变效果
  7. # 使用方法: ① 复制脚本,插入到Main之前
  8. #           ② 在Graphics文件夹下新建Battlebacks文件夹用于存放战斗背景图
  9. #              您也可以在脚本第16行自行设定路径
  10. #           ③ 准备与区域名称相同的战斗背景图到您设定的战斗背景图文件夹内
  11. #           ④ 在Graphics文件夹下新建Transitions文件夹用于存放渐变图
  12. #              您也可以在脚本第17行自行设定路径
  13. #           ⑤ 在脚本第18行设定战斗背景图的后缀名
  14. #           ⑥ 在脚本第19行设定是否直接用地图做战斗图
  15. #------------------------------------------------------------------------------
  16.   B_PATH = "Graphics/Battlebacks/"      # 设定战斗背景图存储路径
  17.   T_PATH = "Graphics/Transitions/"      # 设定渐变图存储路径
  18.   EXTNAME = ".jpg"                      # 设定战斗背景图后缀名
  19.   DIRECT_MAP = false                    # 设定是否直接用地图做战斗图
  20. #==============================================================================
  21. module Cache
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取战斗背景图
  24.   #     filename : 文件名
  25.   #     hue      : 色相变化值
  26.   #--------------------------------------------------------------------------
  27.   def self.battleback(filename, hue)
  28.     load_bitmap(B_PATH, filename, hue)
  29.   end
  30. end

  31. #==============================================================================
  32. # ■ Spriteset_Battle
  33. #------------------------------------------------------------------------------
  34. #  处理战斗画面的活动块的类。本类在 Scene_Battle 类
  35. # 的内部使用。
  36. #==============================================================================
  37. class Spriteset_Battle
  38.   #--------------------------------------------------------------------------
  39.   # ● 生成战斗背景活动块
  40.   #--------------------------------------------------------------------------
  41. def create_battleback
  42.    for area in $data_areas.values
  43.      break if $game_player.in_area?(area)
  44.    end
  45.    @battleback_sprite = Sprite.new(@viewport1)
  46.    if area != nil and FileTest.exist?(B_PATH+area.name+EXTNAME) and !DIRECT_MAP
  47.      @battleback_sprite.bitmap = Cache.battleback(area.name, 0)
  48.    else
  49.      source = $game_temp.background_bitmap
  50.      bitmap = Bitmap.new(640, 480)
  51.      bitmap.stretch_blt(bitmap.rect, source, source.rect)
  52.      bitmap.radial_blur(90, 12) unless DIRECT_MAP
  53.      @battleback_sprite.bitmap = bitmap
  54.      @battleback_sprite.ox = 320
  55.      @battleback_sprite.oy = 240
  56.      @battleback_sprite.x = 272
  57.      @battleback_sprite.y = 176
  58.      @battleback_sprite.wave_amp = 8 unless DIRECT_MAP
  59.      @battleback_sprite.wave_length = 240 unless DIRECT_MAP
  60.      @battleback_sprite.wave_speed = 120 unless DIRECT_MAP
  61.    end
  62.   end
  63. end

  64. #==============================================================================
  65. # ■ Scene_Title
  66. #------------------------------------------------------------------------------
  67. #  处理标题画面的类。
  68. #==============================================================================
  69. class Scene_Title < Scene_Base
  70.   #--------------------------------------------------------------------------
  71.   # ● 载入战斗测试用的数据库
  72.   #--------------------------------------------------------------------------
  73.   alias bg_load load_bt_database
  74.   def load_bt_database
  75.     bg_load
  76.     $data_areas = load_data("Data/Areas.rvdata")
  77.   end
  78. end

  79. #==============================================================================
  80. # ■ Scene_Map
  81. #------------------------------------------------------------------------------
  82. #  处理地图画面的类。
  83. #==============================================================================
  84. class Scene_Map < Scene_Base
  85.   #--------------------------------------------------------------------------
  86.   # ● 执行战斗前变换
  87.   #--------------------------------------------------------------------------
  88.   def perform_battle_transition
  89.     file = Dir.entries(T_PATH)
  90.     file.delete(".");file.delete("..")
  91.     file_index = rand(file.size)
  92.     Graphics.transition(80, T_PATH + file[file_index], 80)
  93.     Graphics.freeze
  94.   end
  95. end
复制代码



>>点击此处下载范例工程<<

----------------------------------
2008-04-04 更新
新增 直接使用当前地图做战斗图的功能

              [本贴由 风雪优游 于 2008-4-5 22:21:47 进行了编辑]

点评

哈哈,又瞎说...  发表于 2010-8-19 21:16
脚本91行transition少个S,导致读入数据出错  发表于 2010-8-17 09:19

阿桑奇不是一个偶像;阿桑奇是一种思想

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

发表于 2008-4-3 06:05:11 | 显示全部楼层
已测试吗?是否有BUG?
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2007-5-27
帖子
2560

第1届Title华丽大赛新人奖

 楼主| 发表于 2008-4-3 06:27:46 | 显示全部楼层
以下引用风雪优游于2008-4-2 22:05:11的发言:

已测试吗?是否有BUG?

范例好像没什么问题,要说bug...不知道,是人写的总可能有...比如在Transitions文件夹里扔了RM不支持的图片之类..其它待别人测试

阿桑奇不是一个偶像;阿桑奇是一种思想

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-4-1
帖子
60
发表于 2008-4-3 06:59:35 | 显示全部楼层
很好,用VX还不到一天就有这样的成绩,强大。{/hx}
这种修改Sprite_Battle的脚本,必无可避,许多战斗横板脚本必须也要整合一番才行。
你知道什么叫做長江7號吗?
很简单, 它只是一个很平凡的外星太空狗,
也是一个很简单的伸手党员
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2007-5-27
帖子
2560

第1届Title华丽大赛新人奖

 楼主| 发表于 2008-4-4 17:22:07 | 显示全部楼层
以下引用長江7號于2008-4-2 22:59:35的发言:

很好,用VX还不到一天就有这样的成绩,强大。
这种修改Sprite_Battle的脚本,必无可避,许多战斗横板脚本必须也要整合一番才行。

比较XP跟VX的异同,然后就容易得多了

阿桑奇不是一个偶像;阿桑奇是一种思想

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2007-5-27
帖子
2560

第1届Title华丽大赛新人奖

 楼主| 发表于 2008-4-4 22:57:28 | 显示全部楼层
2008-04-04 更新
新增 直接使用当前地图做战斗图的功能
-------------------------------------
发现rgss2原来的脚本只要去掉这么几句话不就是地图么...于是新增此功能
     source = $game_temp.background_bitmap
     bitmap = Bitmap.new(640, 480)
     bitmap.stretch_blt(bitmap.rect, source, source.rect)
     #bitmap.radial_blur(90, 12)
     @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
     #@battleback_sprite.wave_length = 240
     #@battleback_sprite.wave_speed = 120

阿桑奇不是一个偶像;阿桑奇是一种思想

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-4
帖子
38
发表于 2008-4-5 04:21:53 | 显示全部楼层
感觉会不错啊   下来试试看吧!~~
初来本站,请多指教!~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

发表于 2008-4-6 06:08:54 | 显示全部楼层
格式如此正规....发布中.....

发布完毕,VIP+3
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-12-19
帖子
43
发表于 2008-4-15 16:37:01 | 显示全部楼层
提问:如何把VX的阴影去掉

版主对此帖的评论:『请去讨论区』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天仙

梦石
0
星屑
55
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

发表于 2008-4-15 20:34:50 | 显示全部楼层
直接做一个透明的图命名为BattleFloor放在System资料夹即可

另:建议LZ可以用视口把战斗背景限制区域一下,部分背景透过下面的窗口了
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2019-1-19 08:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表