SHARE
TWEET

Logo VX

Holy87 Jul 12th, 2013 57 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $imported = {} if $imported == nil
  2. $imported["H87_Logoshower"] = true
  3. #===============================================================================
  4. # SCHERMATA DEL LOGO
  5. #===============================================================================
  6. # Autore: Holy87
  7. # Versione: 1.0
  8. # Difficoltà utente: ★★
  9. #-------------------------------------------------------------------------------
  10. # Questo script serve per mostrare una serie di immagini all'apertura del gioco,
  11. # come il nome-firma-logo dell'autore/team, messaggi ecc...
  12. # Lo script consente di:
  13. # ● Mostrare quante successioni di immagini si voglia
  14. # ● Saltare in qualsiasi momento al titolo premendo Invio
  15. # ● Regolare per ogni immagine il tempo di comparsa e l'effetto zoom
  16. # ● Eseguire la musica della schermata del titolo dall'inizio
  17. # ● Saltare automaticamente la presentazione se si esegue da Test di gioco.
  18. #-------------------------------------------------------------------------------
  19. # Istruzioni:
  20. # Copiare lo script sotto Materials, prima del Main e SOTTO tutti gli script.
  21. # Le immagini da mostrare vanno messe nella cartella Graphics\Pictures. Le
  22. # immagini verranno automaticamente centrate sullo schermo quando mostrate.
  23. #
  24. #-------------------------------------------------------------------------------
  25. # Compatibilità:
  26. # Compatibile con tutti gli script.
  27. #-------------------------------------------------------------------------------
  28. module H87_logo_shower
  29. #===============================================================================
  30. # ** CONFIGURAZIONE **
  31. #===============================================================================
  32.   Logos = {
  33.   # Inserisci qui in ordine le immagini da mostrare, quanto tempo deve durare
  34.   # (in frame) e se attivare o no l'effetto zoom.
  35.   #Tipo:  0-> Fade normale
  36.   #       1-> Zoom normale
  37.   #       2-> Zoom orizzontale
  38.   #       3-> Zoom verticale
  39.   #       4-> Increspatura
  40.  
  41.   #ID   Nome         Tempo      Tipo
  42.   1 => ["Logo",       130,      1],
  43.   2 => ["Logo2",      130,      1],
  44.   3 => ["Logo3",      200,      0],
  45.   } # non rimuovere!
  46.   # N.B. Il conteggio del tempo comincia dopo il termine del fade del logo.
  47.  
  48.   #Vuoi eseguire la musica del titolo anche nel logo?
  49.   Play_music = true
  50.  
  51.   #Tempo di dissolvenza delle immagini
  52.   Fade_time = 50
  53.  
  54.   #Tempo di dissolvenza dell'immagine finale
  55.   Final_fade = 80
  56.  
  57.   #Saltare i logo se si avvia il gioco in modalità test?
  58.   Jump_test = true
  59.  
  60.  
  61.   #============================================================================
  62.   # ** FINE CONFIGURAZIONE **
  63.   # Modificare da questo punto in poi è rischioso.
  64.   #============================================================================
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.   #--------------------------------------------------------------------------
  79.   # * restituisce la velocità di dissolvenza
  80.   #--------------------------------------------------------------------------
  81.   def fade_speed
  82.     return 255.0 / Fade_time
  83.   end
  84.  
  85.   #--------------------------------------------------------------------------
  86.   # * restituisce la velocità di dissolvenza dopo l'ultima immagine
  87.   #--------------------------------------------------------------------------
  88.   def final_fade_speed
  89.     return 255.0 / Final_fade
  90.   end
  91.  
  92. end # modulo
  93.  
  94. #===============================================================================
  95. # ** Classe Scene_Title
  96. #===============================================================================
  97. class Scene_Title < Scene_Base
  98.  
  99.   alias h87lg_start start unless $@
  100.   #--------------------------------------------------------------------------
  101.   # * redefining metodo start
  102.   #--------------------------------------------------------------------------
  103.   def start
  104.     unless jump_logo? # se si deve saltare al logo
  105.       go_logo         # vai al logo
  106.     else              # altrimenti
  107.       @jump_logo = false
  108.       h87lg_start     # normale esecuzione del titolo
  109.     end
  110.   end
  111.  
  112.   #--------------------------------------------------------------------------
  113.   # * restituisce true se NON si deve andare al logo
  114.   #--------------------------------------------------------------------------
  115.   def jump_logo?
  116.     return true if $TEST and H87_logo_shower::Jump_test
  117.     return true if $BTEST
  118.     return true if $logo_done # se già è stato eseguito una volta
  119.     return false
  120.   end
  121.  
  122.   alias h87lg_update update unless $@
  123.   #--------------------------------------------------------------------------
  124.   # * redefining del metodo update
  125.   #--------------------------------------------------------------------------
  126.   def update
  127.     h87lg_update unless @jump_logo # aggiorna solo se non si salta al logo
  128.   end
  129.  
  130.   alias h87lg_terminate terminate unless $@
  131.   #--------------------------------------------------------------------------
  132.   # * redefining del metodo terminate
  133.   #--------------------------------------------------------------------------
  134.   def terminate
  135.     h87lg_terminate unless @jump_logo # dispone solo se...
  136.   end
  137.  
  138.   #--------------------------------------------------------------------------
  139.   # * vai al logo
  140.   #--------------------------------------------------------------------------
  141.   def go_logo
  142.     @jump_logo = true
  143.     $scene = Scene_Logo.new
  144.   end
  145.  
  146. end # scene_title
  147.  
  148.  
  149. #===============================================================================
  150. # ** Classe Scene_Logo
  151. #===============================================================================
  152. class Scene_Logo < Scene_Base
  153.   include H87_logo_shower # <- il modulo di prima
  154.  
  155.   #--------------------------------------------------------------------------
  156.   # * inizio
  157.   #--------------------------------------------------------------------------
  158.   def start
  159.     super
  160.     $logo_done = true               # flag che indica che il logo è stato visto
  161.     create_logo_graphic             # crea lo sprite del logo
  162.     play_title_music if Play_music  # esegui la musica del titolo
  163.   end
  164.  
  165.   #--------------------------------------------------------------------------
  166.   # * creazione dello sprite
  167.   #--------------------------------------------------------------------------
  168.   def create_logo_graphic
  169.     @logo_counter = 1               # contatore
  170.     @time_counter = 0               # tempo che resta
  171.     @logo = Sprite.new              # creazione
  172.     change_logo                     # aggiorna la bitmap
  173.   end
  174.  
  175.   #--------------------------------------------------------------------------
  176.   # * cambia logo e aggiorna la bitmap
  177.   #--------------------------------------------------------------------------
  178.   def change_logo
  179.     @logo.bitmap = Cache.picture(Logos[@logo_counter][0])
  180.     @logo.opacity = 0
  181.     @logo.ox = @logo.width/2      # l'origine è al centro
  182.     @logo.oy = @logo.height/2     # idem
  183.     @logo.x = Graphics.width / 2  # centra l'immagine
  184.     @logo.y = Graphics.height / 2 # idem
  185.     @speed = 0
  186.     @logo.zoom_x = 1
  187.     @logo.zoom_y = 1
  188.     @logo.wave_speed = 0
  189.     @logo.wave_length = 0
  190.     case Logos[@logo_counter][2]    # caso
  191.     when 1
  192.       @speed = 0.002              # velocità zoom
  193.       @logo.zoom_x = 0.9          # proporzioni (solo del 10% più piccolo
  194.       @logo.zoom_y = 0.9          # idem
  195.     when 2
  196.       @speed = 0.01
  197.       @logo.zoom_x = 0
  198.     when 3
  199.       @speed = 0.01
  200.       @logo.zoom_y = 0
  201.     when 4
  202.       @speed = 1
  203.       @logo.wave_amp = 80
  204.       @logo.wave_length = 50
  205.       @logo.wave_speed = 400
  206.     end
  207.   end
  208.  
  209.   #--------------------------------------------------------------------------
  210.   # * sostituisce l'immagine con la prossima
  211.   #--------------------------------------------------------------------------
  212.   def next_logo
  213.     return if Logos[@logo_counter + 1] == nil
  214.     @logo_counter += 1
  215.     @time_counter = 0
  216.     change_logo
  217.   end
  218.  
  219.   #--------------------------------------------------------------------------
  220.   # * restituisce true se c'è un'altra immagine da mostrare
  221.   #--------------------------------------------------------------------------
  222.   def there_next?
  223.     return true if Logos[@logo_counter + 1] != nil
  224.     return false
  225.   end
  226.  
  227.   #--------------------------------------------------------------------------
  228.   # * aggiornamento
  229.   #--------------------------------------------------------------------------
  230.   def update
  231.     super
  232.     jump_logo if Input.trigger?(Input::C) # aggiorna l'input
  233.     update_fade_logo                      # aggiorna l'animazione
  234.   end
  235.  
  236.   #--------------------------------------------------------------------------
  237.   # * aggiorna l'animazione dell'immagine
  238.   #--------------------------------------------------------------------------
  239.   def update_fade_logo
  240.     # gestione della comparsa
  241.     case Logos[@logo_counter][2]
  242.     when 1
  243.       if @logo.zoom_x < 1
  244.         @logo.zoom_x += @speed
  245.         @logo.zoom_y += @speed
  246.       end
  247.     when 2
  248.       @logo.zoom_x += @speed if @logo.zoom_x < 1
  249.     when 3
  250.       @logo.zoom_y += @speed if @logo.zoom_y < 1
  251.     when 4
  252.       if @logo.wave_amp > 0
  253.         @logo.wave_amp -= @speed
  254.       end
  255.     end
  256.     @logo.update
  257.     # fade
  258.     if @time_counter < Logos[@logo_counter][1] # attesa frame
  259.       @logo.opacity += fade_speed
  260.       if @logo.opacity >= 255
  261.         @time_counter += 1
  262.       end
  263.     else
  264.       if there_next?
  265.         @logo.opacity -= fade_speed
  266.       else
  267.         @logo.opacity -= final_fade_speed
  268.       end
  269.       if @logo.opacity == 0
  270.         if there_next?
  271.           next_logo
  272.         else
  273.           go_title
  274.         end
  275.       end
  276.     end
  277.   end
  278.  
  279.   #--------------------------------------------------------------------------
  280.   # * finalmente, vai alla schermata del titolo
  281.   #--------------------------------------------------------------------------
  282.   def go_title
  283.     $scene = Scene_Title.new
  284.   end
  285.  
  286.   #--------------------------------------------------------------------------
  287.   # * fine
  288.   #--------------------------------------------------------------------------
  289.   def terminate
  290.     @logo.opacity = 0
  291.     super
  292.     @logo.bitmap.dispose
  293.     @logo.dispose
  294.   end
  295.  
  296.   #--------------------------------------------------------------------------
  297.   # * forza il title
  298.   #--------------------------------------------------------------------------
  299.   def jump_logo
  300.     go_title
  301.   end
  302.  
  303.   #--------------------------------------------------------------------------
  304.   # * esegue la musica del titolo
  305.   #--------------------------------------------------------------------------
  306.   def play_title_music
  307.     $data_system = load_data("Data/System.rvdata") # carica il sistema
  308.     $data_system.title_bgm.play
  309.     RPG::BGS.stop
  310.     RPG::ME.stop
  311.   end
  312.  
  313. end # scene_logo
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