Project1

标题: 帮忙把战斗背景模糊化、更改色调 [打印本页]

作者: 只是逛逛    时间: 2013-10-20 20:42
标题: 帮忙把战斗背景模糊化、更改色调
标题可能有些意味不明!?
先上脚本:
RUBY 代码复制
  1. class Scene_Battle
  2. alias battleback_map_main main
  3. def main
  4.    @battleback_sprite = Spriteset_Map.new
  5.    battleback_map_main
  6.    @battleback_sprite.dispose
  7. end
  8. end

这是把地图当作战斗背景图的脚本。我想把战斗背景模糊化和更改色调,按照F1创建了Bitmap又用了blur没用。不要吐槽我脚本盲。
@喵呜喵5  
作者: 喵呜喵5    时间: 2013-10-21 14:00
  1. =begin
  2. ===============================================================================
  3. 地图作为战斗背景 By喵呜喵5
  4. ===============================================================================

  5.   【说明】
  6.   
  7.   使用地图作为战斗背景
  8.   虽然这个是脚本的默认的方法但是不知道为什么写的很蛋疼我看着也很蛋疼
  9.   所以对Spriteset_Battle中的create_battleback1进行了改造
  10.   如果其他脚本也动过这个方法的话可能会不兼容


  11. =end
  12. module M5BaBack
  13. #==============================================================================
  14. #  设定部分
  15. #==============================================================================

  16.   NAME = ""
  17.   #战斗背景图的文件名称,战斗背景1使用该名称的文件时自动使用地图作为战斗背景
  18.   #默认设置下,未设置战斗背景1时使用地图作为战斗背景
  19.   
  20.   BLUR = true
  21.   #战斗背景是否模糊,
  22.   #true:模糊
  23.   #false:不模糊
  24.   
  25.   TONE = Tone.new(0,0,0,0)
  26.   #战斗背景的色调,四个数字分别代表R、G、B、灰度
  27.   
  28.   COLOR = Color.new(0,0,0,70)
  29.   #战斗背景的颜色,四个数字分别代表R、G、B、Alpha
  30.   
  31.   ZOOM = 1
  32.   #战斗背景的放大倍数
  33.   
  34.   WAVE = [1,1,3] #nil
  35.   #战斗背景的自动抖动,三个数字分别代表抖动幅度、频度、速度
  36.   #如果不需要,请设置成nil

  37. #==============================================================================
  38. #  设定结束
  39. #==============================================================================
  40. #==============================================================================
  41. #  脚本部分
  42. #==============================================================================
  43. end
  44. class Spriteset_Battle
  45.   def create_battleback1
  46.     @back1_sprite = Sprite.new(@viewport1)
  47.     if battleback1_name != M5BaBack::NAME
  48.       @back1_sprite.bitmap = battleback1_bitmap
  49.     else
  50.       @back1_sprite.bitmap = create_map_background_bitmap
  51.       @back1_sprite.zoom_x = M5BaBack::ZOOM
  52.       @back1_sprite.zoom_y = M5BaBack::ZOOM
  53.       @back1_sprite.tone.set(M5BaBack::TONE)
  54.       @back1_sprite.color.set(0, 0, 0,70)
  55.       if M5BaBack::WAVE
  56.         @back1_sprite.wave_amp = M5BaBack::WAVE[0]
  57.         @back1_sprite.wave_length = M5BaBack::WAVE[1]
  58.         @back1_sprite.wave_speed = M5BaBack::WAVE[2]
  59.       end
  60.     end
  61.     @back1_sprite.z = 0
  62.     center_sprite(@back1_sprite)
  63.   end
  64.   def create_map_background_bitmap
  65.     source = SceneManager.background_bitmap
  66.     bitmap = Bitmap.new(640, 480)
  67.     bitmap.stretch_blt(bitmap.rect, source, source.rect)
  68.     bitmap.blur if M5BaBack::BLUR
  69.     bitmap
  70.   end
  71. end
复制代码





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