Project1

标题: 如何才能给每个地图设置不同的战斗背景? [打印本页]

作者: 炫火杀    时间: 2011-8-31 16:39
标题: 如何才能给每个地图设置不同的战斗背景?
情况是这样的:咱想做一个校园的游戏,准备多拍一点战斗背景图,结果一开电脑就发现不知道怎么替换,请各位帮帮忙啊 dsu_plus_rewardpost_czw
作者: 昔日辉煌灬    时间: 2011-8-31 16:45
本帖最后由 昔日辉煌灬 于 2011-8-31 16:48 编辑

在你的地图上创建一个区域,区域名就是你要的战斗背景名    战斗背景在  Graphics里    战斗背景这个文件夹   里面
  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/战斗背景/"      # 设定战斗背景图存储路径
  17.   EXTNAME = ".png"                      # 设定战斗背景图后缀名
  18.   DIRECT_MAP = false                    # 设定是否直接用地图做战斗图
  19. #==============================================================================
  20. module Cache
  21.   #--------------------------------------------------------------------------
  22.   # ● 获取战斗背景图
  23.   #     filename : 文件名
  24.   #     hue      : 色相变化值
  25.   #--------------------------------------------------------------------------
  26.   def self.battleback(filename, hue)
  27.     load_bitmap(B_PATH, filename, hue)
  28.   end
  29. end

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

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





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1