Advertisement
DrDhoom

[RGSS3] Animated Battleback

May 20th, 2013
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.31 KB | None | 0 0
  1. #===========================================================================
  2. # Animated Battlebacks (VX)
  3. #   by jmoresca
  4. #   July 18,2009
  5. #
  6. # Ported to RMVXA
  7. #   by DrDhoom
  8. #   May 20, 2013
  9. #===========================================================================
  10. #
  11. # How to use:
  12. #    Just configure the AnimBB module
  13. #
  14. # FAQ's
  15. #    How to set the Animated Battlebacks?
  16. #       Save your set of images like this : <name of battle back><anim no>
  17. #       Example:
  18. #          if you have a BattleBack named "sample_bb" then
  19. #          image set will be: sample_bb1, sample_bb2, sample_bb3  
  20. #
  21. #    How to set Animation Speed?
  22. #       edit FRAMES_PER_UPDATE or you can specify a battleback on UPDATE_PER_BB
  23. #
  24. #============================================================================
  25. module AnimBB
  26.   FRAMES_PER_UPDATE = 20 #Adjust the speed here. [The lower the faster]
  27.   UPDATE_PER_BB = {"Clouds"=>40,"desert_0"=>22, "mansion_0"=>6, "gate_0"=>12} #Speed for specific background
  28. end
  29. class Spriteset_Battle
  30.   include AnimBB
  31.  
  32.   def update_battleback1
  33.     if battleback1_name
  34.       @updateBB1_no = @updateBB1_no + 1
  35.       if @count1 != 0
  36.         if UPDATE_PER_BB.include?(@originalBB1)
  37.           if UPDATE_PER_BB[@originalBB1] == @updateBB1_no
  38.             @updateBB1_no = 0
  39.             @frame_no1 = @frame_no1 + 1
  40.             if @frame_no1 > @count1
  41.               @back1_sprite.bitmap = Cache.battleback1(@originalBB1)
  42.               @frame_no1 = 0
  43.             else
  44.               @back1_sprite.bitmap = Cache.battleback1(@originalBB1 + (@frame_no1).to_s)
  45.             end
  46.           end
  47.         else
  48.           if @updateBB1_no == FRAMES_PER_UPDATE
  49.             @updateBB1_no = 0
  50.             @frame_no1 = @frame_no1 + 1
  51.             if @frame_no1 > @count1
  52.               @back1_sprite.bitmap = Cache.battleback1(@originalBB1)
  53.               @frame_no1 = 0
  54.             else
  55.               @back1_sprite.bitmap = Cache.battleback1(@originalBB1 + (@frame_no1).to_s)
  56.             end
  57.           end
  58.         end
  59.       else
  60.         @updateBB1_no = 0
  61.       end
  62.       @back1_sprite.update
  63.     else
  64.       @back1_sprite.update
  65.     end
  66.   end
  67.  
  68.   def update_battleback2
  69.     if battleback2_name
  70.       @updateBB2_no = @updateBB2_no + 1
  71.       if @count2 != 0
  72.         if UPDATE_PER_BB.include?(@originalBB2)
  73.           if UPDATE_PER_BB[@originalBB2] == @updateBB2_no
  74.             @updateBB2_no = 0
  75.             @frame_no2 = @frame_no2 + 1
  76.             if @frame_no2 > @count2
  77.               @back2_sprite.bitmap = Cache.battleback2(@originalBB2)
  78.               @frame_no2 = 0
  79.             else
  80.               @back2_sprite.bitmap = Cache.battleback2(@originalBB2 + (@frame_no2).to_s)
  81.             end
  82.           end
  83.         else
  84.           if @updateBB2_no == FRAMES_PER_UPDATE
  85.             @updateBB2_no = 0
  86.             @frame_no2 = @frame_no2 + 1
  87.             if @frame_no2 > @count2
  88.               @back2_sprite.bitmap = Cache.battleback2(@originalBB2)
  89.               @frame_no2 = 0
  90.             else
  91.               @back2_sprite.bitmap = Cache.battleback2(@originalBB2 + (@frame_no2).to_s)
  92.             end
  93.           end
  94.         end
  95.       else
  96.         @updateBB2_no = 0
  97.       end
  98.       @back2_sprite.update
  99.     else
  100.       @back2_sprite.update
  101.     end
  102.   end
  103.  
  104.   def create_battleback1
  105.     if battleback1_name
  106.       @originalBB1 = battleback1_name
  107.       @count1 = 0
  108.       @updateBB1_no = 0
  109.       @frame_no1 = 0
  110.       loop do
  111.         begin
  112.           @count1 += 1
  113.           sample = Cache.battleback1(@originalBB1 + @count1.to_s)
  114.         rescue
  115.           @count1 -= 1
  116.           break
  117.         end
  118.       end      
  119.     end
  120.     @back1_sprite = Sprite.new(@viewport1)
  121.     @back1_sprite.bitmap = battleback1_bitmap
  122.     @back1_sprite.z = 0
  123.     center_sprite(@back1_sprite)
  124.   end
  125.  
  126.   def create_battleback2
  127.     if battleback2_name
  128.       @originalBB2 = battleback2_name
  129.       @count2 = 0
  130.       @updateBB2_no = 0
  131.       @frame_no2 = 0
  132.       loop do
  133.         begin
  134.           @count2 = @count2 + 1
  135.           sample = Cache.battleback2(@originalBB2 + @count2.to_s)
  136.         rescue
  137.           @count2 = @count2 - 1
  138.           break
  139.         end
  140.       end      
  141.     end
  142.     @back2_sprite = Sprite.new(@viewport1)
  143.     @back2_sprite.bitmap = battleback2_bitmap
  144.     @back2_sprite.z = 0
  145.     center_sprite(@back2_sprite)
  146.   end
  147. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement