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

Project1

 找回密码
 注册会员
搜索
查看: 1589|回复: 3
打印 上一主题 下一主题

[已经解决] 如何给这个脚本设置一个开关?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2014-2-20
帖子
13
跳转到指定楼层
1
发表于 2014-12-28 13:03:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 暝星 于 2014-12-28 13:04 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Battleback EX (v1.3) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com/[/url]
  6. #==============================================================================
  7. # Adiciona efeitos animados nos battlebacks.
  8. #==============================================================================
  9. # ● UTILIZAÇÃO
  10. #==============================================================================
  11. # Use os códigos abaixo através do comando chamar script.
  12. # NOTA - Os códigos podem ser usados no meio da  batalha.
  13. #
  14. # bb1( TYPE, POWER 1, POWER 2)
  15. # bb2( TYPE, POWER 1, POWER 2)
  16. #
  17. # TYPE = 0 or 1
  18. #
  19. # 0 = Efeito slide
  20. # 1 = Efeito wave
  21. #
  22. # POWER 1  
  23. #
  24. # Velocidade de deslize na horizontal no efeito SLIDE.
  25. # Area de distorção no efeito WAVE. (de 0 a 9)
  26. #
  27. # POWER 2
  28. #
  29. # Velocidade de deslize na vertical no efeito SLIDE.
  30. # Velocidade de distorção do efeito WAVE. (de 0 a 9)
  31. #
  32. # Exemplo(EG)
  33. #
  34. # bb1(0,2,5)
  35. # bb2(1,10,8)
  36. #
  37. #==============================================================================
  38. # ● Cancelar o Efeito.
  39. #==============================================================================
  40. # Para cancelar o efeito use o código abaixo.
  41. #
  42. # bb1(nil)
  43. # bb2(nil)
  44. #
  45. #==============================================================================
  46.  
  47. #==============================================================================
  48. # ● Histórico (Version History)
  49. #==============================================================================
  50. # v 1.3  - Corrigido o erro de travar a tela quando não se define um battleback.
  51. # v 1.2  - Opção de mudar a imagem e o efeito do battleback no meio da batalha.
  52. #        - Efeito de fade entre os battlebacks.
  53. #
  54. # v 1.1  - Opção de definir o tamanho do battleback.
  55. #        - Melhor compatibilidade.
  56. #==============================================================================
  57. module MOG_BATTLEBACK_EX
  58.    #Definição da resolução do jogo.
  59.    BB_SCREEN_SIZE = [544,416]   
  60. end  
  61.  
  62. #==============================================================================
  63. # ■ Game Temp
  64. #==============================================================================
  65. class Game_Temp
  66.  
  67.   attr_accessor :bb_fade_duration
  68.  
  69.   #--------------------------------------------------------------------------
  70.   # ● Initialize
  71.   #--------------------------------------------------------------------------            
  72.   alias mog_bb_ex_initialize_temp initialize
  73.   def initialize
  74.       @bb_fade_duration = [0 , true]
  75.       mog_bb_ex_initialize_temp
  76.   end  
  77.  
  78. end  
  79. #==============================================================================
  80. # ■ Game System
  81. #==============================================================================
  82. class Game_System
  83.  
  84.   attr_accessor :bb1
  85.   attr_accessor :bb2
  86.  
  87.   #--------------------------------------------------------------------------
  88.   # ● Initialize
  89.   #--------------------------------------------------------------------------           
  90.   alias mog_bb_ex_initialize initialize
  91.   def initialize
  92.       @bb1 = []
  93.       @bb2 = []
  94.       mog_bb_ex_initialize
  95.   end  
  96.  
  97. end
  98.  
  99. #==============================================================================
  100. # ■ Spriteset Battle
  101. #==============================================================================
  102. class Spriteset_Battle
  103.  
  104.   include MOG_BATTLEBACK_EX
  105.  
  106.   #--------------------------------------------------------------------------
  107.   # ● Initialize
  108.   #--------------------------------------------------------------------------   
  109.   alias mog_bb_ex_initialize initialize
  110.   def initialize
  111.       $game_temp.bb_fade_duration = [0,false]
  112.       @bb1 = []
  113.       @bb2 = []
  114.       mog_bb_ex_initialize
  115.   end  
  116.  
  117.   #--------------------------------------------------------------------------
  118.   # ● Update
  119.   #--------------------------------------------------------------------------  
  120.   alias mog_bb_ex_update update
  121.   def update
  122.       update_battleback_transition
  123.       mog_bb_ex_update
  124.   end
  125.  
  126.   #--------------------------------------------------------------------------
  127.   # ● Update Battleback Transition
  128.   #--------------------------------------------------------------------------        
  129.   def update_battleback_transition
  130.       return if $game_temp.bb_fade_duration[0] == 0
  131.       if $game_temp.bb_fade_duration[1]
  132.          $game_temp.bb_fade_duration = [0 , false]
  133.          refresh_bb_ex
  134.          @back1_sprite.opacity = 255 if @back1_sprite != nil
  135.          @back2_sprite.opacity = 255 if @back2_sprite != nil           
  136.       end  
  137.       $game_temp.bb_fade_duration[0] -= 1
  138.       case $game_temp.bb_fade_duration[0]
  139.            when 129..256
  140.               @back1_sprite.opacity -= 2 if @back1_sprite != nil
  141.               @back2_sprite.opacity -= 2 if @back2_sprite != nil
  142.            when 1..128
  143.               if $game_temp.bb_fade_duration[0] == 128
  144.                  refresh_bb_ex
  145.                  @back1_sprite.opacity = 0 if @back1_sprite != nil
  146.                  @back2_sprite.opacity = 0 if @back2_sprite != nil                 
  147.               end   
  148.               @back1_sprite.opacity += 2 if @back1_sprite != nil
  149.               @back2_sprite.opacity += 2 if @back2_sprite != nil
  150.           when 0     
  151.               @back1_sprite.opacity = 255 if @back1_sprite != nil
  152.               @back2_sprite.opacity = 255 if @back2_sprite != nil              
  153.       end      
  154.   end  
  155.  
  156.   #--------------------------------------------------------------------------
  157.   # ● Refresh Battleback EX
  158.   #--------------------------------------------------------------------------         
  159.   def refresh_bb_ex  
  160.       dispose_bb1_ex
  161.       dispose_bb2_ex
  162.       create_battleback1
  163.       create_battleback2
  164.   end   
  165.  
  166.   #--------------------------------------------------------------------------
  167.   # ● Create_Battleback1
  168.   #--------------------------------------------------------------------------
  169.   alias mog_bbex_create_battleback1 create_battleback1
  170.   def create_battleback1
  171.       if !$game_system.bb1.empty?
  172.           create_bb1_ex
  173.           return
  174.       end  
  175.       mog_bbex_create_battleback1
  176.   end
  177.  
  178.   #--------------------------------------------------------------------------
  179.   # ● Create_battleback2
  180.   #--------------------------------------------------------------------------
  181.   alias mog_bbex_create_battleback2 create_battleback2
  182.   def create_battleback2
  183.       if !$game_system.bb2.empty?
  184.           create_bb2_ex
  185.           return
  186.       end
  187.       mog_bbex_create_battleback2  
  188.   end
  189.  
  190.   #--------------------------------------------------------------------------
  191.   # ● Dispose BB1 EX
  192.   #--------------------------------------------------------------------------   
  193.   def dispose_bb1_ex
  194.       return if @back1_sprite == nil
  195.       @back1_sprite.bitmap.dispose rescue nil
  196.       @back1_sprite.dispose
  197.   end     
  198.  
  199.   #--------------------------------------------------------------------------
  200.   # ● Dispose BB2 EX
  201.   #--------------------------------------------------------------------------   
  202.   def dispose_bb2_ex
  203.       return if @back2_sprite == nil
  204.       @back2_sprite.bitmap.dispose rescue nil
  205.       @back2_sprite.dispose
  206.   end     
  207.  
  208.   #--------------------------------------------------------------------------
  209.   # ● Create BB 1 EX
  210.   #--------------------------------------------------------------------------  
  211.   def create_bb1_ex
  212.       dispose_bb1_ex
  213.       $game_system.bb1[0] = 0 if $game_system.bb1[0] > 1
  214.       $game_system.bb1[1] = 0 if $game_system.bb1[1] == nil
  215.       $game_system.bb1[2] = 0 if $game_system.bb1[2] == nil
  216.       @bb1_name = battleback1_name
  217.       if @bb1_name == nil
  218.          @back1_sprite = Sprite.new(@viewport1)
  219.          @back1_sprite.bitmap = battleback1_bitmap
  220.          @back1_sprite.z = 0
  221.          center_sprite(@back1_sprite)
  222.          return
  223.       end               
  224.       case $game_system.bb1[0]
  225.           when 0
  226.             @back1_sprite = Plane.new(@viewport1)
  227.             @back1_sprite.bitmap = battleback1_bitmap
  228.           when 1  
  229.             @back1_sprite = Sprite.new(@viewport1)
  230.             range = ($game_system.bb1[1] + 1) * 10
  231.             range = 500 if range > 500
  232.             speed = ($game_system.bb1[2] + 1) * 1000
  233.             speed = 1000 if speed > 1000
  234.             @back1_sprite.x = -range
  235.             @back1_sprite.wave_amp = range
  236.             @back1_sprite.wave_length = BB_SCREEN_SIZE[0]
  237.             @back1_sprite.wave_speed = speed        
  238.             @back1_sprite.bitmap = Bitmap.new(BB_SCREEN_SIZE[0] + (range * 2),BB_SCREEN_SIZE[1])
  239.             @back1_sprite.bitmap.stretch_blt(@back1_sprite.bitmap.rect, battleback1_bitmap, battleback1_bitmap.rect)
  240.       end
  241.       @back1_sprite.z = 0
  242.       @bb1 = $game_system.bb1
  243.   end
  244.  
  245.   #--------------------------------------------------------------------------
  246.   # ● Create BB 2 EX
  247.   #--------------------------------------------------------------------------   
  248.   def create_bb2_ex
  249.       dispose_bb2_ex
  250.       $game_system.bb2[0] = 0 if $game_system.bb2[0] > 1
  251.       $game_system.bb2[1] = 0 if $game_system.bb2[1] == nil
  252.       $game_system.bb2[2] = 0 if $game_system.bb2[2] == nil
  253.       @bb2_name = battleback2_name
  254.       if @bb2_name == nil
  255.          @back2_sprite = Sprite.new(@viewport1)
  256.          @back2_sprite.bitmap = battleback2_bitmap
  257.          @back2_sprite.z = 1
  258.          center_sprite(@back2_sprite)
  259.          return
  260.       end        
  261.       case $game_system.bb2[0]
  262.           when 0
  263.             @back2_sprite = Plane.new(@viewport1)
  264.             @back2_sprite.bitmap = battleback2_bitmap
  265.           when 1  
  266.             @back2_sprite = Sprite.new(@viewport1)
  267.             range = ($game_system.bb2[1] + 1) * 10
  268.             range = 500 if range > 500
  269.             speed = ($game_system.bb2[2] + 1) * 100
  270.             speed = 1000 if speed > 1000
  271.             @back2_sprite.x = -range
  272.             @back2_sprite.wave_amp = range
  273.             @back2_sprite.wave_length = BB_SCREEN_SIZE[0]
  274.             @back2_sprite.wave_speed = speed        
  275.             @back2_sprite.bitmap = Bitmap.new(BB_SCREEN_SIZE[0] + (range * 2),BB_SCREEN_SIZE[1])
  276.             @back2_sprite.bitmap.stretch_blt(@back2_sprite.bitmap.rect, battleback2_bitmap, battleback2_bitmap.rect)
  277.       end     
  278.       @back2_sprite.z = 1
  279.       @bb2 = $game_system.bb2
  280.   end
  281.  
  282.   #--------------------------------------------------------------------------
  283.   # ● Update Battleback1
  284.   #--------------------------------------------------------------------------
  285.   alias mog_battleback_ex_update_battleback1 update_battleback1
  286.   def update_battleback1
  287.       if @bb1_name == nil  
  288.          @back1_sprite.update
  289.          return
  290.       end  
  291.       if !@bb1.empty?  
  292.           case @bb1[0]
  293.              when 0
  294.                @back1_sprite.ox += @bb1[1]
  295.                @back1_sprite.oy += @bb1[2]
  296.              else
  297.                @back1_sprite.update
  298.           end
  299.           return
  300.       end   
  301.       mog_battleback_ex_update_battleback1   
  302.   end
  303.  
  304.   #--------------------------------------------------------------------------
  305.   # ● Update Battleback2
  306.   #--------------------------------------------------------------------------
  307.   alias mog_battleback_ex_update_battleback2 update_battleback2
  308.   def update_battleback2   
  309.       if @bb2_name == nil  
  310.          @back2_sprite.update
  311.          return
  312.       end   
  313.       if !@bb2.empty?      
  314.          case @bb2[0]
  315.              when 0
  316.                @back2_sprite.ox += @bb2[1]
  317.                @back2_sprite.oy += @bb2[2]
  318.              else  
  319.                @back2_sprite.update
  320.          end
  321.          return   
  322.       end      
  323.       mog_battleback_ex_update_battleback2   
  324.   end  
  325.  
  326. end
  327.  
  328. #==============================================================================
  329. # ■ Game Interpreter
  330. #==============================================================================
  331. class Game_Interpreter
  332.  
  333.   #--------------------------------------------------------------------------
  334.   # ● BB1
  335.   #--------------------------------------------------------------------------      
  336.   def bb1(type = 0 , power = 0 , power2 = 0)
  337.       if type == nil or type < 0
  338.          $game_system.bb1.clear
  339.       else
  340.          $game_system.bb1 = [type, power, power2]
  341.       end   
  342.       $game_temp.bb_fade_duration[0] = 256 if SceneManager.scene_is?(Scene_Battle)
  343.   end
  344.  
  345.   #--------------------------------------------------------------------------
  346.   # ● BB2
  347.   #--------------------------------------------------------------------------   
  348.   def bb2(type = 0 , power = 0 , power2 = 0)
  349.       if type == nil or type < 0
  350.          $game_system.bb2.clear
  351.       else   
  352.          $game_system.bb2 = [type, power, power2]
  353.       end   
  354.       $game_temp.bb_fade_duration = [256, false] if SceneManager.scene_is?(Scene_Battle)
  355.   end
  356.  
  357. end  
  358.  
  359. #==============================================================================
  360. # ■ Game Map
  361. #==============================================================================
  362. class Game_Map
  363.  
  364.   #--------------------------------------------------------------------------
  365.   # ● Change_Battleback
  366.   #--------------------------------------------------------------------------  
  367.    alias mog_bbex_change_battleback change_battleback
  368.    def change_battleback(battleback1_name, battleback2_name)
  369.        mog_bbex_change_battleback(battleback1_name, battleback2_name)
  370.        $game_temp.bb_fade_duration = [256, false] if SceneManager.scene_is?(Scene_Battle)
  371.    end
  372.  
  373. end
  374.  
  375. $mog_rgss3_battlebackex = true

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2014-12-28 14:01:33 | 只看该作者
这个脚本是啥……你想给这个脚本设置一个怎样的开关?达到怎样的效果?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2014-2-20
帖子
13
3
 楼主| 发表于 2014-12-28 19:06:03 | 只看该作者
三途亚梦 发表于 2014-12-28 14:01
这个脚本是啥……你想给这个脚本设置一个怎样的开关?达到怎样的效果?

这个脚本能让战斗背景持续滚动,目的是为了在某些情况下利用开关停止这样的效果。( ゚ω゚)
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 2014-12-28 20:10:42 | 只看该作者
暝星 发表于 2014-12-28 19:06
这个脚本能让战斗背景持续滚动,目的是为了在某些情况下利用开关停止这样的效果。( ゚ω゚) ...


在122行后面加一句unless $game_switches[1]试试?
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● Update
  3.   #--------------------------------------------------------------------------  
  4.   alias mog_bb_ex_update update
  5.   def update
  6.       update_battleback_transition unless $game_switches[1]
  7.       mog_bb_ex_update
  8.   end

未测试

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 12:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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