SHARE
TWEET

Untitled

a guest Oct 17th, 2015 10 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #==============================================================================
  2. # +++ MOG - Rin Title Screen (v1.0) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # http://www.atelier-rgss.com/
  6. #==============================================================================
  7. # Tela de título animada com o tema da Rin Kaenbyou, para os fans de Touhou.
  8. # Naturalmente é possível customizar qualquer tipo de personagem.
  9. #==============================================================================
  10. module MOG_RIN_TITLE_SCRREN
  11.   #Definição da velocidade de deslize da imagem de fundo.
  12.   BACKGROUND_SCROLL_SPEED = [0,0]
  13.   #Definição da quantidade de partículas.
  14.   NUMBER_OF_PARTICLES = 20
  15.   #Definição do tipo de blend da partícula.
  16.   PARTICLES_BLEND_TYPE  = 1
  17.   #Definição da força do efeito wave na névoa.
  18.   FIRE_WIND_POWER = 10
  19.   #Definição da velocidade do efeito wave na névoa.
  20.   FIRE_WIND_SPEED o = 1
  21.   #Tipo de Blend.
  22.   FIRE_BLEND_TYPE = 0
  23.   #Definição da opacidade da névoa.
  24.   FIRE_OPACITY = 255
  25.   #Definição da posição do personagem.
  26.   CHARACTER_POSITION = [0,0]
  27.   #Definição da posição do comando.
  28.   COMMAND_POSITION = [0,5]
  29.   #Ativar efeito aura na imagem do personagem.
  30.   CHARACTER_AURA_EFFECT = true
  31.   #Ativar Logo.
  32.   LOGO = true
  33.   #Definição da duração do logo.
  34.   LOGO_DURATION = 2
  35. end
  36.  
  37. #==============================================================================
  38. # ■ Scene Title
  39. #==============================================================================
  40. class Scene_Title
  41.   include MOG_RIN_TITLE_SCRREN
  42.  
  43.   #--------------------------------------------------------------------------
  44.   # ● Main
  45.   #--------------------------------------------------------------------------        
  46.   def main
  47.       execute_logo if LOGO
  48.       Graphics.update
  49.       Graphics.freeze
  50.       execute_setup
  51.       execute_loop
  52.       dispose
  53.   end  
  54.  
  55.   #--------------------------------------------------------------------------
  56.   # ● Execute Setup
  57.   #--------------------------------------------------------------------------        
  58.   def execute_setup
  59.       @phase = 0
  60.       @active = false
  61.       @continue_enabled = DataManager.save_file_exists?
  62.       @com_index = @continue_enabled ? 1 : 0
  63.       @com_index_old = @com_index
  64.       @com_index_max = 2
  65.       create_sprites
  66.   end
  67.  
  68.   #--------------------------------------------------------------------------
  69.   # ● Execute Lopp
  70.   #--------------------------------------------------------------------------        
  71.   def execute_loop
  72.       Graphics.transition(60)
  73.       play_title_music
  74.       loop do
  75.          Input.update
  76.          update
  77.          Graphics.update
  78.          break if SceneManager.scene != self
  79.       end
  80.    end
  81.      
  82. end
  83.  
  84. #==============================================================================
  85. # ■ Scene Title
  86. #==============================================================================
  87. class Scene_Title
  88.   include MOG_RIN_TITLE_SCRREN
  89.  
  90.   #--------------------------------------------------------------------------
  91.   # ● Execute Logo
  92.   #--------------------------------------------------------------------------    
  93.   def execute_logo
  94.       Graphics.transition
  95.       create_logo
  96.       loop do
  97.          Input.update
  98.          update_logo
  99.          Graphics.update
  100.          break if !@logo_phase
  101.       end
  102.       dispose_logo
  103.   end
  104.    
  105.   #--------------------------------------------------------------------------
  106.   # ● Create Logo
  107.   #--------------------------------------------------------------------------      
  108.   def create_logo
  109.       @logo = Sprite.new
  110.       @logo.z = 100
  111.       @logo.opacity = 0
  112.       @logo_duration = [0,60 * LOGO_DURATION]
  113.       @logo.bitmap = Cache.title1("Logo") rescue nil
  114.       @logo_phase = @logo.bitmap != nil ? true : false      
  115.   end
  116.  
  117.   #--------------------------------------------------------------------------
  118.   # ● Dispose Logo
  119.   #--------------------------------------------------------------------------      
  120.   def dispose_logo      
  121.       Graphics.freeze
  122.       @logo.bitmap.dispose if @logo.bitmap != nil
  123.       @logo.dispose
  124.   end
  125.  
  126.   #--------------------------------------------------------------------------
  127.   # ● Update Logo
  128.   #--------------------------------------------------------------------------      
  129.   def update_logo  
  130.       return if !@logo_phase
  131.       update_logo_command
  132.       if @logo_duration[0] == 0
  133.          @logo.opacity += 5
  134.          @logo_duration[0] = 1 if @logo.opacity >= 255
  135.        elsif @logo_duration[0] == 1
  136.          @logo_duration[1] -= 1
  137.          @logo_duration[0] = 2 if @logo_duration[1] <= 0
  138.        else  
  139.          @logo.opacity -= 5
  140.          @logo_phase = false if @logo.opacity <= 0
  141.        end
  142.   end
  143.  
  144.   #--------------------------------------------------------------------------
  145.   # ● Update Logo Command
  146.   #--------------------------------------------------------------------------      
  147.   def update_logo_command
  148.       return if @logo_duration[0] == 2
  149.       if Input.trigger?(:C) or Input.trigger?(:B)
  150.          @logo_duration = [2,0]
  151.       end
  152.   end
  153.  
  154. end
  155.  
  156. #==============================================================================
  157. # ■ Scene Title
  158. #==============================================================================
  159. class Scene_Title
  160.  
  161.   #--------------------------------------------------------------------------
  162.   # ● Create Sprites
  163.   #--------------------------------------------------------------------------          
  164.   def create_sprites
  165.       create_background
  166.       create_fire_wind
  167.       create_commands
  168.       create_particles
  169.       create_character
  170.       create_layout
  171.       create_skulls
  172.   end
  173.    
  174.   #--------------------------------------------------------------------------
  175.   # ● Create Background
  176.   #--------------------------------------------------------------------------            
  177.   def create_background
  178.       @background = Plane.new
  179.       @background.bitmap = Cache.title1("Background")
  180.       @background_scroll = [BACKGROUND_SCROLL_SPEED[0],BACKGROUND_SCROLL_SPEED[1],0]
  181.       @background.z = 0
  182.   end
  183.  
  184.   #--------------------------------------------------------------------------
  185.   # ● Create Layout
  186.   #--------------------------------------------------------------------------              
  187.   def create_layout
  188.       @layout = Sprite.new
  189.       @layout.bitmap = Cache.title1("Layout")
  190.       @layout.z = 20
  191.       @layout.opacity = 0
  192.   end
  193.  
  194.   #--------------------------------------------------------------------------
  195.   # ● Create Commands
  196.   #--------------------------------------------------------------------------                
  197.   def create_commands
  198.       @com = []
  199.       for index in 0...3
  200.           @com.push(Title_Commands.new(nil,index))
  201.       end
  202.   end
  203.  
  204.   #--------------------------------------------------------------------------
  205.   # ● Create Skulls
  206.   #--------------------------------------------------------------------------                
  207.   def create_skulls
  208.       @skulls = []
  209.       for index in 0...3
  210.           @skulls.push(Title_Skull.new(nil,index))
  211.       end
  212.   end  
  213.  
  214.   #--------------------------------------------------------------------------
  215.   # ● Create Fire Wind
  216.   #--------------------------------------------------------------------------            
  217.   def create_fire_wind
  218.       @fire_wind = []
  219.       @fire_wind_image = Cache.title1("Fire_Wind")
  220.       fire_max = 1
  221.       for index in 0...fire_max
  222.       range = (FIRE_WIND_POWER + 1 + (index * 2)) * 10
  223.       range = 500 if range > 500
  224.       speed = (FIRE_WIND_SPEED + 1 + (index * 2)) * 100
  225.       speed = 1000 if speed > 1000          
  226.           @fire_wind.push(Sprite.new)
  227.           @fire_wind[index].wave_amp = range
  228.           @fire_wind[index].wave_length = Graphics.width
  229.           @fire_wind[index].wave_speed = speed        
  230.           @fire_wind[index].bitmap = Bitmap.new(Graphics.width + (range * 2),Graphics.height)
  231.           @fire_wind[index].bitmap.stretch_blt(@fire_wind[index].bitmap.rect, @fire_wind_image, @fire_wind_image.rect)
  232.           @fire_wind[index].x = -range
  233.           @fire_wind[index].z = 6
  234.           @fire_wind[index].blend_type = FIRE_BLEND_TYPE
  235.           @fire_wind[index].opacity = FIRE_OPACITY + (40 * index)
  236.       end
  237.   end  
  238.  
  239.   #--------------------------------------------------------------------------
  240.   # ● Create Particles
  241.   #--------------------------------------------------------------------------  
  242.   def create_particles
  243.       @particles_sprite =[]
  244.       for i in 0...NUMBER_OF_PARTICLES
  245.           @particles_sprite.push(Particles_Title.new(nil))
  246.       end
  247.   end  
  248.  
  249.   #--------------------------------------------------------------------------
  250.   # ● Create Character
  251.   #--------------------------------------------------------------------------    
  252.   def create_character
  253.       @character = Sprite.new
  254.       @character.bitmap = Cache.title1("Character1")
  255.       @character.ox = @character.bitmap.width / 2
  256.       @character.oy = @character.bitmap.height / 2
  257.       @character.x = CHARACTER_POSITION[0] + @character.ox
  258.       @character.y = CHARACTER_POSITION[1] + @character.oy
  259.       @character.z = 3
  260.       @character.opacity = 0
  261.       @character.visible = CHARACTER_AURA_EFFECT
  262.       @char_zoom_speed = [0,0]
  263.       @character2 = Sprite.new
  264.       @character2.bitmap = Cache.title1("Character1")
  265.       @character2.ox = @character.bitmap.width / 2
  266.       @character2.oy = @character.bitmap.height / 2
  267.       @character2.x = CHARACTER_POSITION[0] + @character.ox
  268.       @character2.y = CHARACTER_POSITION[1] + @character.oy
  269.       @character2.z = 2      
  270.       @character2.opacity = 80
  271.       @character2.visible = CHARACTER_AURA_EFFECT
  272.       @character3 = Sprite.new
  273.       @character3.bitmap = Cache.title2("Character")
  274.       @character3.ox = @character.bitmap.width / 2
  275.       @character3.oy = @character.bitmap.height / 2
  276.       @character3.x = CHARACTER_POSITION[0] + @character.ox
  277.       @character3.y = CHARACTER_POSITION[1] + @character.oy
  278.       @character3.z = 1
  279.       @character3.opacity = 0
  280.       @character3.visible = CHARACTER_AURA_EFFECT
  281.       @char3_zoom_speed = [0,0]
  282.       @character4 = Sprite.new
  283.       @character4.bitmap = Cache.title2("Character")
  284.       @character4.ox = @character.bitmap.width / 2
  285.       @character4.oy = @character.bitmap.height / 2
  286.       @character4.x = CHARACTER_POSITION[0] + @character.ox
  287.       @character4.y = CHARACTER_POSITION[1] + @character.oy
  288.       @character4.z = 2    
  289.       @character4.opacity = 0
  290.       @character4.visible = CHARACTER_AURA_EFFECT
  291.   end
  292.  
  293. end
  294.  
  295. #==============================================================================
  296. # ■ Particles Title
  297. #==============================================================================
  298. class Particles_Title < Sprite
  299.  
  300.   include MOG_RIN_TITLE_SCRREN
  301.  
  302.  #--------------------------------------------------------------------------
  303.  # ● Initialize
  304.  #--------------------------------------------------------------------------            
  305.   def initialize(viewport = nil)
  306.       super(viewport)
  307.       @speed_x = 0
  308.       @speed_y = 0
  309.       @speed_a = 0
  310.       self.bitmap = Cache.title1("Particles")
  311.       self.blend_type = PARTICLES_BLEND_TYPE
  312.       self.z = 4
  313.       reset_setting(true)
  314.   end  
  315.  
  316.  #--------------------------------------------------------------------------
  317.  # ● Reset Setting
  318.  #--------------------------------------------------------------------------              
  319.   def reset_setting(initial = false)
  320.       zoom = (50 + rand(100)) / 100.1
  321.       self.zoom_x = zoom
  322.       self.zoom_y = zoom
  323.       self.x = rand(576) - 160
  324.       self.y = initial == true ? rand(480) : 512
  325.       self.opacity = 0
  326.       @speed_y = -(1 + rand(3))
  327.       @speed_x = (1 + rand(2))
  328.       @speed_a = (1 + rand(2))    
  329.   end
  330.  
  331.  #--------------------------------------------------------------------------
  332.  # ● Dispose
  333.  #--------------------------------------------------------------------------              
  334.   def dispose
  335.       super
  336.       self.bitmap.dispose if self.bitmap != nil
  337.   end  
  338.  
  339.  #--------------------------------------------------------------------------
  340.  # ● Update
  341.  #--------------------------------------------------------------------------              
  342.   def update
  343.       super
  344.       self.x += @speed_x
  345.       self.y += @speed_y
  346.      # self.angle += @speed_a
  347.       self.opacity += 5
  348.       reset_setting if can_reset_setting?
  349.   end  
  350.  
  351.  #--------------------------------------------------------------------------
  352.  # ● Can Reset Setting
  353.  #--------------------------------------------------------------------------                
  354.   def can_reset_setting?
  355.       return true if self.y < -50
  356.       return true if self.x > 576
  357.       return false
  358.   end  
  359.  
  360. end
  361.  
  362. #==============================================================================
  363. # ■ Title Commands
  364. #==============================================================================
  365. class Title_Commands < Sprite
  366.   include MOG_RIN_TITLE_SCRREN
  367.  
  368.   #--------------------------------------------------------------------------
  369.   # ● Initialize
  370.   #--------------------------------------------------------------------------  
  371.   def initialize(viewport = nil,index)
  372.       super(viewport)
  373.       @index = index
  374.       @float = [0,0,0]
  375.       self.bitmap = Cache.title1("Command" + index.to_s)
  376.       self.ox = self.bitmap.width / 2
  377.       self.oy = self.bitmap.height / 2
  378.       @org_pos = [COMMAND_POSITION[0] + self.ox,
  379.         COMMAND_POSITION[1] + self.oy + (self.bitmap.height + 2) * index,
  380.         self.ox - 24]
  381.       self.x = @org_pos[0] - self.bitmap.width - (self.bitmap.width * index)
  382.       self.y = @org_pos[1]
  383.       self.z = 25
  384.       @next_pos = [@org_pos[0],@org_pos[1]]
  385.   end
  386.  
  387.   #--------------------------------------------------------------------------
  388.   # ● Dispose
  389.   #--------------------------------------------------------------------------  
  390.   def dispose_sprites
  391.       self.bitmap.dispose
  392.   end
  393.  
  394.   #--------------------------------------------------------------------------
  395.   # ● Update
  396.   #--------------------------------------------------------------------------              
  397.   def update_sprites(index,active)
  398.      # return if !active
  399.       if index == @index
  400.          self.opacity += 10
  401.          @next_pos[0] = @org_pos[0]
  402.         # update_float_effect  
  403.       else
  404.          self.opacity -= 10 if self.opacity > 120
  405.          @next_pos[0] = @org_pos[2]
  406.          @float = [0,0,0]
  407.       end  
  408.       update_slide(0,@next_pos[0])
  409.       update_slide(1,@org_pos[1] + @float[0])
  410.   end
  411.  
  412.  #--------------------------------------------------------------------------
  413.  # ● Update Slide
  414.  #--------------------------------------------------------------------------                      
  415.   def update_slide(type,np)
  416.       cp = type == 0 ? self.x : self.y
  417.       sp = 3 + ((cp - np).abs / 10)
  418.       if cp > np
  419.          cp -= sp
  420.          cp = np if cp < np
  421.       elsif cp < np
  422.          cp += sp
  423.          cp = np if cp > np
  424.       end    
  425.       self.x = cp if type == 0
  426.       self.y = cp if type == 1
  427.   end    
  428.  
  429.   #--------------------------------------------------------------------------
  430.   # ● Update Float Effect
  431.   #--------------------------------------------------------------------------                
  432.   def update_float_effect
  433.       @float[2] += 1
  434.       return if @float[2] < 5
  435.       @float[2] = 0
  436.       @float[1] += 1
  437.       case @float[1]
  438.            when 1..5
  439.                @float[0] -= 1
  440.            when 6..15  
  441.                @float[0] += 1
  442.            when 16..20  
  443.                @float[0] -= 1
  444.            else  
  445.                @float[0] = 0
  446.                @float[1] = 0
  447.       end
  448.   end
  449.  
  450. end
  451.  
  452. #==============================================================================
  453. # ■ Title Skull
  454. #==============================================================================
  455. class Title_Skull < Sprite
  456.   include MOG_RIN_TITLE_SCRREN
  457.  
  458.   #--------------------------------------------------------------------------
  459.   # ● Initialize
  460.   #--------------------------------------------------------------------------  
  461.   def initialize(viewport = nil,index)
  462.       super(viewport)
  463.       @index = index
  464.       @float = [0,0,0]
  465.       @move_phase = @index
  466.       self.bitmap = Cache.title1("Skull")
  467.       self.ox = self.bitmap.width / 2
  468.       self.oy = self.bitmap.height / 2
  469.       @org_pos = [Graphics.width + self.ox, 150 + self.oy,
  470.         -self.ox]
  471.       self.x = @index == 0 ? @org_pos[0] : @org_pos[2]      
  472.       self.y = @org_pos[1]
  473.       self.z = 15
  474.       self.blend_type = 0
  475.       @next_pos = [@org_pos[0],@org_pos[1]]
  476.       z1 = Graphics.width / 3
  477.       z2 = z1 * 2
  478.       @zoom_phase = [0,z2,@org_pos[0]]  
  479.       @fade_phase = 0
  480.       setup_move
  481.       if @index == 2
  482.          @org_pos[0] = 150
  483.          @org_pos[1] = 200
  484.          self.x = @org_pos[0]
  485.          self.y = @org_pos[1]
  486.          self.mirror = false    
  487.          self.zoom_x = 1.00
  488.          self.zoom_y = 1.00
  489.          self.angle = 30
  490.          self.z = 15
  491.       end  
  492.   end
  493.  
  494.   #--------------------------------------------------------------------------
  495.   # ● Dispose
  496.   #--------------------------------------------------------------------------  
  497.   def dispose_sprites
  498.       self.bitmap.dispose
  499.   end
  500.  
  501.   #--------------------------------------------------------------------------
  502.   # ● Update
  503.   #--------------------------------------------------------------------------              
  504.   def update_sprites(active)
  505.      # return if !active
  506.       update_float_effect  
  507.       update_move unless @index == 2
  508.       update_slide(1,@org_pos[1] + @float[0])
  509.   end
  510.  
  511.   #--------------------------------------------------------------------------
  512.   # ● Setup Move
  513.   #--------------------------------------------------------------------------                
  514.   def setup_move
  515.     #  self.opacity = 100 + rand(155)
  516.     #  @fade_phase = 0
  517.       if @move_phase == 0
  518.          @move_phase = 1
  519.          self.x = @org_pos[2]
  520.          self.mirror = true    
  521.          self.z = 15
  522.          self.zoom_x = 0.50
  523.          self.zoom_y = 0.50        
  524.          @org_pos[1] = 100 + self.oy + rand(100)
  525.       else
  526.          @move_phase = 0
  527.          self.x = @org_pos[0]
  528.          self.mirror = false  
  529.          self.z = 2
  530.          self.zoom_x = 1.00
  531.          self.zoom_y = 1.00
  532.          @org_pos[1] = -50 + self.oy + rand(100)
  533.       end
  534.   end
  535.  
  536.   #--------------------------------------------------------------------------
  537.   # ● Update Move
  538.   #--------------------------------------------------------------------------                
  539.   def update_move
  540.       if @move_phase == 0
  541.          self.x -= 1
  542.          if self.x.between?(@zoom_phase[1],@zoom_phase[2])
  543.             self.zoom_x -= 0.001
  544.             self.zoom_x = 0.50 if self.zoom_x < 0.50    
  545.          else  
  546.             self.zoom_x += 0.001
  547.             self.zoom_x = 1.00 if self.zoom_x > 1.00      
  548.          end  
  549.          setup_move if self.x <= @org_pos[2]
  550.       else
  551.          self.x += 1
  552.          if self.x.between?(@zoom_phase[0],@zoom_phase[1])
  553.             self.zoom_x += 0.001
  554.             self.zoom_x = 1.00 if self.zoom_x > 1.00
  555.          else  
  556.             self.zoom_x -= 0.001
  557.             self.zoom_x = 0.50 if self.zoom_x < 0.50
  558.          end  
  559.          setup_move if self.x >= @org_pos[0]
  560.       end
  561.       self.zoom_y = self.zoom_x
  562.   #    update_fade
  563.   end
  564.  
  565.  #--------------------------------------------------------------------------
  566.  # ● Update Fade
  567.  #--------------------------------------------------------------------------
  568.   def update_fade
  569.       if @fade_phase == 0
  570.          self.opacity -= 5
  571.          @fade_phase = 1 if self.opacity == 0
  572.       else
  573.          self.opacity += 5
  574.          @fade_phase = 0 if self.opacity == 255
  575.       end  
  576.   end
  577.  
  578.  #--------------------------------------------------------------------------
  579.  # ● Update Slide
  580.  #--------------------------------------------------------------------------                      
  581.   def update_slide(type,np)
  582.       cp = type == 0 ? self.x : self.y
  583.       sp = 3 + ((cp - np).abs / 10)
  584.       if cp > np
  585.          cp -= sp
  586.          cp = np if cp < np
  587.       elsif cp < np
  588.          cp += sp
  589.          cp = np if cp > np
  590.       end    
  591.       self.x = cp if type == 0
  592.       self.y = cp if type == 1
  593.   end    
  594.  
  595.   #--------------------------------------------------------------------------
  596.   # ● Update Float Effect
  597.   #--------------------------------------------------------------------------                
  598.   def update_float_effect
  599.       @float[2] += 1
  600.       return if @float[2] < 4
  601.       @float[2] = 0
  602.       @float[1] += 1
  603.       case @float[1]
  604.            when 1..5
  605.                @float[0] -= 1
  606.            when 6..15  
  607.                @float[0] += 1
  608.            when 16..20  
  609.                @float[0] -= 1
  610.            else  
  611.                @float[0] = 0
  612.                @float[1] = 0
  613.       end
  614.   end
  615.  
  616. end
  617.  
  618. #==============================================================================
  619. # ■ Scene Title
  620. #==============================================================================
  621. class Scene_Title
  622.  
  623.   #--------------------------------------------------------------------------
  624.   # ● Dispose
  625.   #--------------------------------------------------------------------------          
  626.   def dispose
  627.       Graphics.freeze
  628.       dispose_background
  629.       dispose_fire_wind
  630.       dispose_particles
  631.       dispose_character
  632.       dispose_layout
  633.       dispose_commands
  634.       dispose_skulls
  635.   end
  636.    
  637.   #--------------------------------------------------------------------------
  638.   # ● Dispose Background
  639.   #--------------------------------------------------------------------------            
  640.   def dispose_background
  641.       @background.bitmap.dispose
  642.       @background.dispose      
  643.   end
  644.  
  645.   #--------------------------------------------------------------------------
  646.   # ● Dispose Layout
  647.   #--------------------------------------------------------------------------              
  648.   def dispose_layout  
  649.       @layout.bitmap.dispose
  650.       @layout.dispose
  651.   end  
  652.    
  653.   #--------------------------------------------------------------------------
  654.   # ● Dispose Commands
  655.   #--------------------------------------------------------------------------                
  656.   def dispose_commands
  657.       @com.each {|sprite| sprite.dispose_sprites }
  658.   end  
  659.  
  660.   #--------------------------------------------------------------------------
  661.   # ● Dispose Skulls
  662.   #--------------------------------------------------------------------------                
  663.   def dispose_skulls
  664.       @skulls.each {|sprite| sprite.dispose_sprites }
  665.   end  
  666.  
  667.   #--------------------------------------------------------------------------
  668.   # ● Dispose Fire Wind
  669.   #--------------------------------------------------------------------------            
  670.   def dispose_fire_wind
  671.       @fire_wind.each {|sprite| sprite.bitmap.dispose }
  672.       @fire_wind.each {|sprite| sprite.dispose }
  673.       @fire_wind_image.dispose
  674.   end
  675.  
  676.  #--------------------------------------------------------------------------
  677.  # ● Dispose Particles
  678.  #--------------------------------------------------------------------------    
  679.  def dispose_particles
  680.      @particles_sprite.each {|sprite| sprite.dispose }
  681.  end    
  682.  
  683.   #--------------------------------------------------------------------------
  684.   # ● Dispose Character
  685.   #--------------------------------------------------------------------------    
  686.   def dispose_character
  687.       @character.bitmap.dispose
  688.       @character.dispose
  689.       @character2.bitmap.dispose
  690.       @character2.dispose
  691.       @character3.bitmap.dispose
  692.       @character3.dispose
  693.       @character4.bitmap.dispose
  694.       @character4.dispose
  695.   end    
  696.  
  697. end
  698.  
  699. #==============================================================================
  700. # ■ Scene Title
  701. #==============================================================================
  702. class Scene_Title
  703.  
  704.   #--------------------------------------------------------------------------
  705.   # ● Update Sprites
  706.   #--------------------------------------------------------------------------          
  707.   def update_sprites
  708.       update_background
  709.       update_fire_wind
  710.       update_particles
  711.       update_character
  712.       update_commands
  713.       update_skulls
  714.   end
  715.    
  716.   #--------------------------------------------------------------------------
  717.   # ● Update Background
  718.   #--------------------------------------------------------------------------            
  719.   def update_background
  720.       @layout.opacity += 5
  721.       @background_scroll[2] += 1
  722.       return if @background_scroll[2] < 4
  723.       @background_scroll[2] = 0
  724.       @background.ox += @background_scroll[0]
  725.       @background.oy += @background_scroll[1]
  726.   end  
  727.  
  728.   #--------------------------------------------------------------------------
  729.   # ● Update Commands
  730.   #--------------------------------------------------------------------------                
  731.   def update_commands
  732.       @com.each {|sprite| sprite.update_sprites(@com_index,@active)}
  733.   end      
  734.  
  735.   #--------------------------------------------------------------------------
  736.   # ● Update Skulls
  737.   #--------------------------------------------------------------------------                
  738.   def update_skulls
  739.       @skulls.each {|sprite| sprite.update_sprites(@active)}
  740.   end    
  741.  
  742.   #--------------------------------------------------------------------------
  743.   # ● Update Fire Wind
  744.   #--------------------------------------------------------------------------            
  745.   def update_fire_wind
  746.       @fire_wind.each {|sprite| sprite.update }
  747.   end    
  748.  
  749.   #--------------------------------------------------------------------------
  750.   # ● Update Particles
  751.   #--------------------------------------------------------------------------  
  752.   def update_particles
  753.       @particles_sprite.each {|sprite| sprite.update }
  754.   end  
  755.  
  756.   #--------------------------------------------------------------------------
  757.   # ● Update Character
  758.   #--------------------------------------------------------------------------    
  759.   def update_character
  760.       @character.opacity += 5
  761.       return if !@character2.visible
  762.       if @char_zoom_speed[1] > 0
  763.          @char_zoom_speed[1] -= 1
  764.          @character2.opacity = 0
  765.          @character2.opacity = 255 if @char_zoom_speed[1] == 0
  766.       end
  767.       return if @char_zoom_speed[1] > 0
  768.       @char_zoom_speed[0] += 1
  769.       return if @char_zoom_speed[0] < 5
  770.       @char_zoom_speed[0] = 0
  771.       @character2.zoom_x += 0.01
  772.       @character2.opacity -= 5
  773.       if @character2.opacity <= 0
  774.          @character2.zoom_x = 1.00
  775.          @character2.opacity = 0
  776.          @char_zoom_speed[1] = 120
  777.       end
  778.       @character2.zoom_y = @character2.zoom_x
  779.      
  780.       @character3.opacity += 5
  781.       return if !@character4.visible
  782.       if @char_zoom_speed[1] > 0
  783.          @char_zoom_speed[1] -= 1
  784.          @character4.opacity = 0
  785.          @character4.opacity = 255 if @char_zoom_speed[1] == 0
  786.       end
  787.       return if @char3_zoom_speed[1] > 0
  788.       @char3_zoom_speed[0] += 1
  789.       return if @char_zoom_speed[0] < 5
  790.       @char3_zoom_speed[0] = 0
  791.       @character4.zoom_x += 0.01
  792.       @character4.opacity -= 5
  793.       if @character4.opacity <= 0
  794.          @character4.zoom_x = 1.00
  795.          @character4.opacity = 0
  796.          @char_zoom_speed[1] = 120
  797.       end
  798.       @character4.zoom_y = @character4.zoom_x
  799.      
  800.       end
  801.    
  802. end
  803.  
  804. #==============================================================================
  805. # ■ Scene Title
  806. #==============================================================================
  807. class Scene_Title
  808.  
  809.   #--------------------------------------------------------------------------
  810.   # ● Update
  811.   #--------------------------------------------------------------------------          
  812.   def update
  813.       update_command
  814.       update_sprites
  815.   end
  816.    
  817. end
  818.  
  819. #==============================================================================
  820. # ■ Scene Title
  821. #==============================================================================
  822. class Scene_Title
  823.  
  824.   #--------------------------------------------------------------------------
  825.   # ● Update Command
  826.   #--------------------------------------------------------------------------          
  827.   def update_command
  828.       update_key
  829.       refresh_index if @com_index_old != @com_index
  830.   end
  831.    
  832.   #--------------------------------------------------------------------------
  833.   # ● Update Key
  834.   #--------------------------------------------------------------------------            
  835.   def update_key
  836.       if Input.trigger?(:DOWN)
  837.          add_index(1)
  838.       elsif Input.trigger?(:UP)
  839.          add_index(-1)
  840.       elsif Input.trigger?(:C)  
  841.          select_command
  842.       end  
  843.   end
  844.  
  845.   #--------------------------------------------------------------------------
  846.   # ● Select Command
  847.   #--------------------------------------------------------------------------              
  848.   def select_command
  849.     #  if !@active
  850.     #     @active = true  
  851.     #     return
  852.     #  end  
  853.       case @com_index
  854.          when 0; command_new_game
  855.          when 1; command_continue
  856.          when 2; command_shutdown  
  857.       end
  858.   end
  859.  
  860.   #--------------------------------------------------------------------------
  861.   # ● Add Index
  862.   #--------------------------------------------------------------------------              
  863.   def add_index(value = 0)
  864.       @com_index += value
  865.       if !@continue_enabled and @com_index == 1
  866.           @com_index = 2 if value == 1
  867.           @com_index = 0 if value == -1
  868.       end    
  869.       @com_index = 0 if @com_index > @com_index_max
  870.       @com_index = @com_index_max if @com_index < 0
  871.   end
  872.  
  873.   #--------------------------------------------------------------------------
  874.   # ● Refresh Index
  875.   #--------------------------------------------------------------------------            
  876.   def refresh_index
  877.       @com_index_old = @com_index
  878.       Sound.play_cursor
  879.   end
  880.  
  881.   #--------------------------------------------------------------------------
  882.   # ● Command New Game
  883.   #--------------------------------------------------------------------------            
  884.   def command_new_game    
  885.       Sound.play_ok
  886.       DataManager.setup_new_game
  887.       fadeout_all
  888.       $game_map.autoplay
  889.       SceneManager.goto(Scene_Map)      
  890.   end  
  891.  
  892.   #--------------------------------------------------------------------------
  893.   # ● Command Continue
  894.   #--------------------------------------------------------------------------            
  895.   def command_continue
  896.       if !@continue_enabled
  897.          Sound.play_cancel
  898.          return
  899.       else  
  900.          Sound.play_ok
  901.       end  
  902.       SceneManager.call(Scene_Load)
  903.   end    
  904.  
  905.   #--------------------------------------------------------------------------
  906.   # ● Command Shutdown
  907.   #--------------------------------------------------------------------------            
  908.   def command_shutdown
  909.       Sound.play_ok
  910.       fadeout_all
  911.       SceneManager.exit    
  912.   end
  913.  
  914.   #--------------------------------------------------------------------------
  915.   # ● play_title_music
  916.   #--------------------------------------------------------------------------
  917.   def play_title_music
  918.       $data_system.title_bgm.play
  919.       RPG::BGS.stop
  920.       RPG::ME.stop
  921.   end  
  922.  
  923.   #--------------------------------------------------------------------------
  924.   # ● Fadeout_all
  925.   #--------------------------------------------------------------------------
  926.   def fadeout_all(time = 1000)
  927.       RPG::BGM.fade(time)
  928.       RPG::BGS.fade(time)
  929.       RPG::ME.fade(time)
  930.       Graphics.fadeout(time * Graphics.frame_rate / 1000)
  931.       RPG::BGM.stop
  932.       RPG::BGS.stop
  933.       RPG::ME.stop
  934.   end  
  935.  
  936. end
  937.  
  938. $mog_rgss3_rin_title_screen = true
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top