neutale

Fading Title Logo

Feb 14th, 2018
987
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.84 KB | None | 0 0
  1. #encoding:utf-8
  2.  
  3. =begin
  4. *******************************************************************************************
  5.    * Fading Title Logo *
  6.                        for RGSS3
  7.         Ver 1.00   2014.04.16
  8.    Author:魂(Lctseng),Bahamut Forum ID:play123
  9.    The original text published in: Bahamut RPG master Hara version
  10.    Based on a script originally written by "william6k(KLL)"
  11.    
  12.    Instructions:
  13.    To use your own logo, place an image file named "logo"
  14.    in your project folder > "Graphics" > inside "System"
  15.  
  16.    Please keep this label reprinted
  17.    Home link:http://home.gamer.com.tw/homeindex.php?owner=play123
  18.    Description:
  19.                        On the title screen, logo will fade in & out.
  20.    Update log:
  21.     Ver 1.00 :
  22.     Date:2014.04.16
  23.     Summary:First version released
  24.                 Second version、summary:                  
  25.                        First, title screen logo fades with dynamic layer
  26.     Function, this script modifies or redefines the following categories:
  27.                            1. Scene_Title
  28.                            
  29.                            
  30.                         Second, this script provides a set of modules:
  31.                           1.Lctseng::Flash_Title
  32.                            
  33.                          
  34. *******************************************************************************************
  35. =end
  36.  
  37. #==============================================================================
  38. # ■ Lctseng::Flash_Title
  39. #------------------------------------------------------------------------------
  40. #  Fading layer title setting module
  41. #==============================================================================
  42. module Lctseng
  43. module Flash_Title
  44.   #--------------------------------------------------------------------------
  45.   # ● Fade time setting
  46.   #--------------------------------------------------------------------------
  47.   # Fade in time
  48.   TITLE_FADEIN_TIME = 150
  49.   # Fade out time
  50.   TITLE_FADEOUT_TIME = 150
  51.   #--------------------------------------------------------------------------
  52.   # ● Fade speed setting
  53.   #--------------------------------------------------------------------------
  54.   # Logo fade in
  55.   TITLE_FADEIN_SPEED = 5
  56.   # Logo fade out
  57.   TITLE_FADEOUT_SPEED = 2
  58.   #--------------------------------------------------------------------------
  59.   # ● Max & Min setting for fade, valid when fading
  60.   #--------------------------------------------------------------------------
  61.   # Fade in maximun opacity
  62.   TITLE_MAX_FADEIN_OPACITY = 200
  63.   # Fade out minimum opacity
  64.   TITLE_MIN_FADEOUT_OPACITY = 50
  65.   #--------------------------------------------------------------------------
  66.   # ● Layers set,Z coordinate position
  67.   #--------------------------------------------------------------------------
  68.   # Z coordinate for fading layer
  69.   TITLE_FLASH_Z = 50
  70.   # Title logo Z coordinate
  71.   TITLE_BACKGROUND_2_Z = 60
  72.  
  73. end
  74. end
  75.  
  76.  
  77.  
  78. #*******************************************************************************************
  79. #
  80. #   DO NOT MODIFY UNLESS YOU KNOW WHAT TO DO !
  81. #
  82. #******************************************************************************************
  83.  
  84.  
  85.  
  86. #--------------------------------------------------------------------------
  87. # ★ Script Information
  88. #--------------------------------------------------------------------------
  89. if !$lctseng_scripts  
  90.   $lctseng_scripts = {}
  91. end
  92. $lctseng_scripts[:flashing_title] = "1.00"
  93.  
  94. puts "Load Script:Lctseng - Fading title logo:#{$lctseng_scripts[:flashing_title]}"
  95.  
  96.  
  97.  
  98.  
  99. #encoding:utf-8
  100. #==============================================================================
  101. # ■ Scene_Title
  102. #------------------------------------------------------------------------------
  103. #  Title Screen
  104. #==============================================================================
  105.  
  106. class Scene_Title < Scene_Base
  107.   #--------------------------------------------------------------------------
  108.   # ● Setting Module
  109.   #--------------------------------------------------------------------------
  110.   include Lctseng::Flash_Title
  111.   #--------------------------------------------------------------------------
  112.   # ● Start Process - Redefinition
  113.   #--------------------------------------------------------------------------
  114.   alias lct_flashing_title_Scene_Base_start start
  115.   #--------------------------------------------------------------------------
  116.   def start(*args,&block)
  117.     lct_flashing_title_Scene_Base_start(*args,&block)
  118.     create_flashing_sprite
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● Create Fade Manager
  122.   #--------------------------------------------------------------------------
  123.   def create_flashing_sprite
  124.     @flash_sprite = Sprite.new
  125.     @flash_sprite.bitmap = Cache.system("logo")
  126.     @flash_sprite.z = TITLE_FLASH_Z
  127.     @flash_sprite.opacity = 0
  128.     @flash_count = TITLE_FADEIN_TIME + TITLE_FADEOUT_TIME
  129.     center_sprite(@flash_sprite)
  130.     @sprite2.z = TITLE_BACKGROUND_2_Z # Overwrite second layer header picture
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● End Process - Redefinition
  134.   #--------------------------------------------------------------------------
  135.   alias lct_flashing_title_Scene_Base_terminate terminate
  136.   #--------------------------------------------------------------------------
  137.   def terminate(*args,&block)
  138.     lct_flashing_title_Scene_Base_terminate(*args,&block)
  139.     dispose_flashing_sprite
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ● Release Fade
  143.   #--------------------------------------------------------------------------
  144.   def dispose_flashing_sprite
  145.     @flash_sprite.bitmap.dispose
  146.     @flash_sprite.dispose
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● Update Screen (basic)
  150.   #--------------------------------------------------------------------------
  151.   def update_basic
  152.     super
  153.     update_flashing_sprite
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ● Update Fade
  157.   #--------------------------------------------------------------------------
  158.   def update_flashing_sprite
  159.     if @flash_count > TITLE_FADEOUT_TIME
  160.       @flash_sprite.opacity += TITLE_FADEIN_SPEED
  161.       if @flash_sprite.opacity > TITLE_MAX_FADEIN_OPACITY
  162.         @flash_sprite.opacity = TITLE_MAX_FADEIN_OPACITY
  163.       end
  164.       @flash_count -= 1
  165.     elsif @flash_count <= 0
  166.       @flash_sprite.opacity = TITLE_MIN_FADEOUT_OPACITY
  167.       @flash_count = TITLE_FADEIN_TIME + TITLE_FADEOUT_TIME
  168.     else
  169.       @flash_sprite.opacity -= TITLE_FADEOUT_SPEED
  170.       @flash_count -= 1
  171.       if @flash_sprite.opacity < TITLE_MIN_FADEOUT_OPACITY
  172.         @flash_sprite.opacity = TITLE_MIN_FADEOUT_OPACITY
  173.       end
  174.  
  175.  
  176.     end
  177.    
  178.   end
  179. end
Advertisement
Add Comment
Please, Sign In to add comment