赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 390 |
最后登录 | 2023-3-25 |
在线时间 | 5 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 5 小时
- 注册时间
- 2008-1-9
- 帖子
- 9
|
- #===========================================================================
- # 隨機漸變,區域控制戰鬥背景圖 by 沉影不器
- #---------------------------------------------------------------------------
- # 功能描述: 1 使用區域名稱定義不同的戰鬥背景圖
- # 如果沒有找到背景圖,則使用RMVX默認眩暈背景
- # 2 進入戰鬥時,隨機使用漸變效果
- # 使用方法: 1 複製腳本,插入到Main之前
- # 2 在Graphics文件夾下新建Battlebacks文件夾用於存放戰鬥背景圖
- # 您也可以在腳本第16行自行設定路徑
- # 3 準備與區域名稱相同的戰鬥背景圖到您設定的戰鬥背景圖文件夾內
- # 4 在Graphics文件夾下新建Transitions文件夾用於存放漸變圖
- # 您也可以在腳本第17行自行設定路徑
- # 5 在腳本第18行設定戰鬥背景圖的後綴名
- # 6 在腳本第19行設定是否直接用地圖做戰鬥圖
- #------------------------------------------------------------------------------
- B_PATH = "Graphics/Battlebacks/" # 設定戰鬥背景圖存儲路徑
- T_PATH = "Graphics/Transitions/" # 設定漸變圖存儲路徑
- EXTNAME = ".jpg" # 設定戰鬥背景圖後綴名
- 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
复制代码 |
|