| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 4 |  
| 经验 | 868 |  
| 最后登录 | 2014-6-14 |  
| 在线时间 | 628 小时 |  
 Lv2.观梦者 
	梦石0 星屑448 在线时间628 小时注册时间2011-9-27帖子3996 | 
| 本帖最后由 小白玩家 于 2011-12-12 18:48 编辑 
 来源http://rpg.blue/forum.php?mod=vi ... 7%E9%A2%98%E5%89%8D复制代码#==============================================================================#
 
#              [RGSS2] Rafidelis Scene Logo - 2009 New Version                 #
 
#------------------------------------------------------------------------------#
 
# $RafiScripts.by = Rafidelis(RafiScripts - RafideliSoft Brasil)               #
 
# $RafiScripts.version = 2.0                                                   #
 
# $RafiScripts.release_date = 30/11/08 (d/m/y)                                 #
 
# $RafiScripts.update_date = 06/07/09  (d/m/y)                                 #
 
# $RafiScripts.email = [email protected] or [email protected]   #
 
# $RafiScripts.website = www.ReinoRPG.com  or www.ReinoRPG.com/forum           #
 
#==============================================================================#
 
# [** $RafiScripts.versions **]  // Versões do Script/Script Versions          #
 
#------------------------------------------------------------------------------#
 
# 30/11/09 - Lançada Versão 1.0                                                #
 
# 06/07/09 - Lançada Versão 2.0 : Script Totalmente Reescrito                  #          
#==============================================================================#
 
# [** $RafiScripts.desc **]  // Sobre o Script / About Script                  #
 
#------------------------------------------------------------------------------#
 
# Este script possibilita a criação de uma logo antes da tela de titulo        #
 
#==============================================================================#
 
# [** $RafiScripts.instr ] // Instruções / Instructions:                       #
 
#------------------------------------------------------------------------------#
 
# 1° Colar este script acima do Main,logo em seguida editar as Constantes no   #
 
# modulo Rafidelis::Rafidelis_Logo.                                            #
 
# 2° Modificar a Linha 15($scene = Scene_Title.new) do Script Main para        #
 
# $scene = Scene_Logo.new                                                      #
 
# 3° Criar a Pasta 'Logo' dentro da Pasta 'Graphics' onde deverão ser          #
 
# inseridos os Graficos da Logo.                                               #
 
#==============================================================================#
 
# [** $RafiScripts.conf_start ] \\ Inicio das Configurações                    #
 
#------------------------------------------------------------------------------#
 
#==============================================================================#
 
#                         [** Module Rafidelis ]                               #
 
#[**Modulo necessario para rodar os Scripts criados por Rafidelis(RafiScripts)]#
 
#==============================================================================#
 
module Rafidelis
 
#==============================================================================#
 
# Rafidelis.add_script - Name : Name of Script - Version : Version of Script   #
 
#------------------------------------------------------------------------------#
 
  def self.add_script(name,version)
 
    $RafiScripts = [] if $RafiScripts.nil?
 
    $RafiScripts.push("Name : #{name} - Version: #{version}")
 
  end
 
#==============================================================================#
 
# Rafidelis.script_exist? - Name : Name of Script - Version : Version of Script#
 
#------------------------------------------------------------------------------#
 
  def self.script_exist?(name,version)
 
    $RafiScripts = [] if $RafiScripts.nil?
 
    return $RafiScripts.include?("Name : #{name} - Version: #{version}")
 
  end
 
#==============================================================================#
 
# Rafidelis.scripts - Return all script create by Rafidelis(RafiScripts)       #
 
#------------------------------------------------------------------------------#
 
  def self.scripts
 
    print $RafiScripts
 
  end
 
#==============================================================================#
 
# Rafidelis.create_txt - Create a .txt with all Rafidelis(RafiScripts) scripts #
 
#------------------------------------------------------------------------------#
 
  def self.create_txt(folder="")
 
    file = File.open("RafideliScripts.txt","wb")
 
    for i in 0...$RafiScripts.size
 
      file.write("#{$RafiScripts[i]}\r\n")
 
    end
 
  end
 
#==============================================================================#
 
# Rafidelis::Logo - Modulo de Opções da Logo                                   #
 
#------------------------------------------------------------------------------#
 
  module Logo
 
  # Adicionando o Script ao Sistema.Não Modifique.
 
    Rafidelis.add_script("Scene Logo","2.0")
 
  # Script Adicionado
 
    TIME_DURATION_LOGO = 400          # Duração da Scene de logo
 
    USE_INPUT = true   # Usar a tecla Enter/Barra de Espaço par pular a Logo?
 
    
    USE_RANDOM_BGS = true       # true = usar | false = não usar
 
    RANDONS_BGS = [             # Caso a opção de usar BGS aleatoria não estiver
 
    "Wind",                     # sendo usada,a primeira musica sera a permanente
 
    "Clock",                    # Nesse caso sera a "Wind"
 
    "Fire"]
 
    VOLUME_LOGO_BGS = 75                       # Volume da BGS de Logo
 
    
    LOGO_FOG_NAME = "Fog"            # Nome da Nevoa usada na logo
 
    LOGO_FOG_BLEND_TYPE = 2           # (0: normal, 1: adição, 2: subtração)
 
    FOG_HORIZONTAL_MOVIMENT_SPEED = 2 # velocidade do Movimento Horizontal da fog
 
    FOG_VERTICAL_MOVIMENT_SPEED = 0   # Velocidade do Movimento Vertical da Fog
 
    
    NAME_LOGO_PIC = "Logo"            # Nome da Imagem de Logo
 
    NAME_LOGO_BACK_PIC = "Back"  # Nome da imagem de fundo da logo
 
    LOGO_BACK_PIC_HORIZONTAL_MOVIMENT = 1  # Vel. dp movimento da imagem de fundo
 
    
    
    LIGHT_PIC_NAME = "Lights"                  # Nome da imagem de luz
 
    LOGO_LIGHT_PIC_BLEND_TYPE = 1              # (0: normal, 1: adição, 2: subtração)
 
    LIGHT_PIC_HORIZONTAL_MOVIMENT_VELOCITY = 1 # Velocidade do Movimento Horizontal da Luz
 
    LIGHT_PIC_VERTICAL_MOVIMENT_VELOCITY = 1   # Velocidade do Movimento vertical da Luz
 
    LIGHT_PIC_LOGO_ZOOM_X = 1                  # Zoom X da img de luz na Logo
 
    LIGHT_PIC_LOGO_ZOOM_Y = 1                  # Zoom Y da img de luz na logo
 
  end
 
end
 
#==============================================================================#
 
# [** $RafiScripts.conf_end ] \\ Fim das Configurações                         #
 
#------------------------------------------------------------------------------# 
# Verificando se o Script esta incluso no Sistema
 
if Rafidelis.script_exist?("Scene Logo","2.0")
 
#==============================================================================
 
# Cache
 
#------------------------------------------------------------------------------
 
# Nesta classe vários gráficos são carregados e guardados como Bitmaps. Para 
# acelerar o processo e preservar a memória, os Bitmaps são guardados em cache
 
# para uso futuro. 
#==============================================================================
 
module Cache
 
  def self.logo(filename)
 
    load_bitmap("Graphics/Logo/", filename)
 
  end
 
end
 
#==============================================================================#
 
# Scene_Logo                                                                   #                  
 
#------------------------------------------------------------------------------#
 
# Classe de operações na tela de logo                                          #
 
#==============================================================================#
 
class Scene_Logo < Scene_Base
 
  include Rafidelis::Logo
 
  def initialize
 
    $data_system        = load_data("Data/System.rvdata")
 
  end
 
  #--------------------------------------------------------------------------
 
  # Inicialização do processo
 
  #--------------------------------------------------------------------------
 
  def start    
    create_logo_images
 
    @tempo = 0
 
    @retire_opacity = false
 
  end
 
  #--------------------------------------------------------------------------
 
  # Criação das imagens da logo
 
  #--------------------------------------------------------------------------
 
  def create_logo_images
 
    imgs_names = [NAME_LOGO_BACK_PIC,NAME_LOGO_PIC,LOGO_FOG_NAME,LIGHT_PIC_NAME]
 
    @logo_sprites = []
 
    for i in 0...imgs_names.size
 
      if i == 1 
        @logo_sprites[i] = Sprite.new
 
      else
 
        @logo_sprites[i] = Plane.new
 
      end
 
      @logo_sprites[i].bitmap = Cache.logo(imgs_names[i])
 
      @logo_sprites[i].opacity = 0
 
      @logo_sprites[i].z = i * 30
 
    end
 
    @logo_sprites[1].z = 999
 
    @logo_sprites[2].blend_type = LOGO_FOG_BLEND_TYPE
 
    @logo_sprites[3].blend_type = LOGO_LIGHT_PIC_BLEND_TYPE 
    @logo_sprites[3].zoom_x = LIGHT_PIC_LOGO_ZOOM_X
 
    @logo_sprites[3].zoom_y = LIGHT_PIC_LOGO_ZOOM_Y
 
  end
 
  #--------------------------------------------------------------------------
 
  # Atualização do processo
 
  #--------------------------------------------------------------------------
 
  def update
 
    play_random_BGS
 
    update_time
 
    create_fadein_fadeout_efect
 
    update_images_moviments
 
    if USE_INPUT and Input.trigger?(Input::C) and @tempo != TIME_DURATION_LOGO
 
      Audio.bgs_fade(10) 
      Audio.se_play("Audio/SE/Save")
 
      @tempo = TIME_DURATION_LOGO
 
      @retire_opacity = true
 
    end
 
    if @logo_sprites[1].opacity == 0 and @tempo == TIME_DURATION_LOGO
 
      $scene = Scene_Title.new
 
    end
 
  end 
  #--------------------------------------------------------------------------
 
  # Atualização do movimento das imagens
 
  #--------------------------------------------------------------------------
 
  def update_images_moviments
 
    @logo_sprites[2].ox -= FOG_HORIZONTAL_MOVIMENT_SPEED
 
    @logo_sprites[2].oy -= FOG_VERTICAL_MOVIMENT_SPEED
 
    @logo_sprites[0].ox += LOGO_BACK_PIC_HORIZONTAL_MOVIMENT
 
    @logo_sprites[3].ox += LIGHT_PIC_HORIZONTAL_MOVIMENT_VELOCITY
 
    @logo_sprites[3].oy += LIGHT_PIC_VERTICAL_MOVIMENT_VELOCITY
 
  end
 
  #--------------------------------------------------------------------------
 
  # Criação dos efeitos de Fade-in e Fade-out
 
  #--------------------------------------------------------------------------
 
  def create_fadein_fadeout_efect
 
    if @retire_opacity
 
      for i in 0...@logo_sprites.size
 
        if @logo_sprites[i].opacity > 0
 
          @logo_sprites[i].opacity -= 5
 
        end
 
      end
 
    end
 
    if not @retire_opacity
 
      for i in 0...@logo_sprites.size
 
        if i == 2
 
           @logo_sprites[i].opacity += 5 if @logo_sprites[i].opacity < 100
 
       elsif i != 2 and @logo_sprites[i].opacity < 255
 
         @logo_sprites[i].opacity += 5
 
        end
 
      end
 
    end
 
  end
 
  #--------------------------------------------------------------------------
 
  # Tocar a BGS aletoriamente
 
  #--------------------------------------------------------------------------
 
  def play_random_BGS
 
    if @tempo == 0
 
      if USE_RANDOM_BGS 
        aleatory_se = rand(RANDONS_BGS.size)
 
        Audio.bgs_play("Audio//BGS//#{RANDONS_BGS[aleatory_se]}",VOLUME_LOGO_BGS)
 
      else
 
        Audio.bgs_play("Audio/BGS//#{RANDONS_BGS[0]}",VOLUME_LOGO_BGS)
 
      end
 
    end
 
  end
 
  #--------------------------------------------------------------------------
 
  # Atualização do tempo da logo
 
  #--------------------------------------------------------------------------
 
  def update_time
 
    @tempo += 1 if @tempo < TIME_DURATION_LOGO
 
    @retire_opacity = true if @tempo == TIME_DURATION_LOGO
 
  end
 
  #--------------------------------------------------------------------------
 
  # Finalização do processo
 
  #--------------------------------------------------------------------------
 
  def terminate
 
    Audio.bgs_stop
 
    for i in 0...@logo_sprites.size
 
        @logo_sprites[i].bitmap.dispose
 
        @logo_sprites[i].dispose
 
      end
 
    end
 
  end
 
  # Finalizando a verificação do script no Sistema
 
end
 
#==============================================================================#
 
# [** $RafiScripts.script_end] // Fim do Script - Script End                   #
 
#------------------------------------------------------------------------------#
 
# Você pode encontrar mais scripts meus em www.ReinoRPG.com                    #
 
# You can find more scripts create for me at www.ReinoRPG.com                  #
 
#==============================================================================#
 | 
 |