TheoAllen

Theo - Fog Menu VX

May 24th, 2013
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.17 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Fog menu VX
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. ($imported ||= {})[:Theo_FogMenu] = true
  8. # =============================================================================
  9. # CHANGE LOGS:
  10. # -----------------------------------------------------------------------------
  11. # 2013.05.25 - Started and Finished script
  12. # =============================================================================
  13. =begin
  14.  
  15.   Perkenalan :
  16.   Script ini ngebikin kamu bisa nampilin fog di dalem menu
  17.  
  18.   Cara penggunaan :
  19.   Pasang di bawah material namun atas main
  20.   Edit konfigurasinya
  21.  
  22.   Terms of use :
  23.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  24.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  25.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  26.  
  27. =end
  28. # =============================================================================
  29. # Konfigurasi :
  30. # =============================================================================
  31. module THEO
  32.   module FOG_MENU
  33.    
  34.     NAME      = "fog"   # Nama fog. Harus ada di Graphics/picture
  35.     OPACITY   = 99      # Opacity fognya
  36.     SCROLL_X  = -1      # Loop horizontal (minus = ke kanan)
  37.     SCROLL_Y  = -1      # Loop vertikal (minus = ke bawah)
  38.    
  39.     OPACITY_VARIANCE  = 0   # Variasi opacitynya
  40.     FADE_SPEED        = 1   # Kecepatan berubah opacitynya
  41.    
  42.     HIDE_SWITCH_ID  = 0     # Fog di sembunyiin kalo switch dengan id ini ON
  43.    
  44.   end
  45. end
  46. # =============================================================================
  47. # Akhir dari konfigurasi
  48. # =============================================================================
  49. class Scene_Base
  50.  
  51.   def start
  52.     create_fog_menu if in_menu?
  53.     @fog_count = 0.0
  54.   end
  55.  
  56.   def create_fog_menu
  57.     @fog_menu = Plane.new
  58.     @fog_menu.bitmap = Cache.picture(THEO::FOG_MENU::NAME) rescue return
  59.     @fog_menu.opacity = THEO::FOG_MENU::OPACITY
  60.   end
  61.  
  62.   def in_menu?
  63.     [Scene_Menu,Scene_Item,Scene_Skill,Scene_Equip,Scene_Status].any? do |scene|
  64.       $scene.is_a?(scene)
  65.     end
  66.   end
  67.  
  68.   alias fog_menu_bg create_menu_background
  69.   def create_menu_background
  70.     fog_menu_bg
  71.     @menuback_sprite.z -= 10
  72.   end
  73.  
  74.   def update
  75.     update_fog if @fog_menu
  76.   end
  77.  
  78.   def update_fog
  79.     update_fog_visibility
  80.     update_fog_scroll
  81.     update_fog_variance
  82.   end
  83.  
  84.   def update_fog_visibility
  85.     @fog_menu.visible = !$game_switches[THEO::FOG_MENU::HIDE_SWITCH_ID]
  86.   end
  87.  
  88.   def update_fog_scroll
  89.     @fog_menu.ox += THEO::FOG_MENU::SCROLL_X
  90.     @fog_menu.oy += THEO::FOG_MENU::SCROLL_Y
  91.   end
  92.  
  93.   def update_fog_variance
  94.     derajat = (@fog_count.to_f/180) * Math::PI
  95.     @fog_menu.opacity = THEO::FOG_MENU::OPACITY +
  96.       (Math.sin(derajat) * THEO::FOG_MENU::OPACITY_VARIANCE)
  97.     @fog_count += (rand * THEO::FOG_MENU::FADE_SPEED)
  98.   end
  99.  
  100.   def terminate
  101.     @fog_menu.dispose if @fog_menu
  102.   end
  103.  
  104. end
Advertisement
Add Comment
Please, Sign In to add comment