Project1

标题: 【VX】关于标题画面动画化的问题 [打印本页]

作者: 南极の曙光    时间: 2011-12-12 17:45
标题: 【VX】关于标题画面动画化的问题
能不能将标题画面改成个动画呢?像gif的文件?
如果不能的话又怎么样在标题画面之前插入一段动画呢?
求教~(本人妖精图书馆巡游中~
作者: 亿万星辰    时间: 2011-12-12 17:48
插入FLASH 视频 GIF 这些其实都是有脚本支持的~
再不行的话,把GIF拆帧以后顺序播放也是个笨办法~
作者: 小白玩家    时间: 2011-12-12 17:50
本帖最后由 小白玩家 于 2011-12-12 18:48 编辑
  1. #==============================================================================#

  2. #              [RGSS2] Rafidelis Scene Logo - 2009 New Version                 #

  3. #------------------------------------------------------------------------------#

  4. # $RafiScripts.by = Rafidelis(RafiScripts - RafideliSoft Brasil)               #

  5. # $RafiScripts.version = 2.0                                                   #

  6. # $RafiScripts.release_date = 30/11/08 (d/m/y)                                 #

  7. # $RafiScripts.update_date = 06/07/09  (d/m/y)                                 #

  8. # $RafiScripts.email = [email protected] or [email protected]   #

  9. # $RafiScripts.website = www.ReinoRPG.com  or www.ReinoRPG.com/forum           #

  10. #==============================================================================#

  11. # [** $RafiScripts.versions **]  // Versões do Script/Script Versions          #

  12. #------------------------------------------------------------------------------#

  13. # 30/11/09 - Lançada Versão 1.0                                                #

  14. # 06/07/09 - Lançada Versão 2.0 : Script Totalmente Reescrito                  #         
  15. #==============================================================================#

  16. # [** $RafiScripts.desc **]  // Sobre o Script / About Script                  #

  17. #------------------------------------------------------------------------------#

  18. # Este script possibilita a criação de uma logo antes da tela de titulo        #

  19. #==============================================================================#

  20. # [** $RafiScripts.instr ] // Instruções / Instructions:                       #

  21. #------------------------------------------------------------------------------#

  22. # 1° Colar este script acima do Main,logo em seguida editar as Constantes no   #

  23. # modulo Rafidelis::Rafidelis_Logo.                                            #

  24. # 2° Modificar a Linha 15($scene = Scene_Title.new) do Script Main para        #

  25. # $scene = Scene_Logo.new                                                      #

  26. # 3° Criar a Pasta 'Logo' dentro da Pasta 'Graphics' onde deverão ser          #

  27. # inseridos os Graficos da Logo.                                               #

  28. #==============================================================================#

  29. # [** $RafiScripts.conf_start ] \\ Inicio das Configurações                    #

  30. #------------------------------------------------------------------------------#


  31. #==============================================================================#

  32. #                         [** Module Rafidelis ]                               #

  33. #[**Modulo necessario para rodar os Scripts criados por Rafidelis(RafiScripts)]#

  34. #==============================================================================#

  35. module Rafidelis

  36. #==============================================================================#

  37. # Rafidelis.add_script - Name : Name of Script - Version : Version of Script   #

  38. #------------------------------------------------------------------------------#

  39.   def self.add_script(name,version)

  40.     $RafiScripts = [] if $RafiScripts.nil?

  41.     $RafiScripts.push("Name : #{name} - Version: #{version}")

  42.   end

  43. #==============================================================================#

  44. # Rafidelis.script_exist? - Name : Name of Script - Version : Version of Script#

  45. #------------------------------------------------------------------------------#

  46.   def self.script_exist?(name,version)

  47.     $RafiScripts = [] if $RafiScripts.nil?

  48.     return $RafiScripts.include?("Name : #{name} - Version: #{version}")

  49.   end

  50. #==============================================================================#

  51. # Rafidelis.scripts - Return all script create by Rafidelis(RafiScripts)       #

  52. #------------------------------------------------------------------------------#

  53.   def self.scripts

  54.     print $RafiScripts

  55.   end

  56. #==============================================================================#

  57. # Rafidelis.create_txt - Create a .txt with all Rafidelis(RafiScripts) scripts #

  58. #------------------------------------------------------------------------------#

  59.   def self.create_txt(folder="")

  60.     file = File.open("RafideliScripts.txt","wb")

  61.     for i in 0...$RafiScripts.size

  62.       file.write("#{$RafiScripts[i]}\r\n")

  63.     end

  64.   end

  65. #==============================================================================#

  66. # Rafidelis::Logo - Modulo de Opções da Logo                                   #

  67. #------------------------------------------------------------------------------#

  68.   module Logo

  69.   # Adicionando o Script ao Sistema.Não Modifique.

  70.     Rafidelis.add_script("Scene Logo","2.0")

  71.   # Script Adicionado

  72.     TIME_DURATION_LOGO = 400          # Duração da Scene de logo

  73.     USE_INPUT = true   # Usar a tecla Enter/Barra de Espaço par pular a Logo?

  74.    
  75.     USE_RANDOM_BGS = true       # true = usar | false = não usar

  76.     RANDONS_BGS = [             # Caso a opção de usar BGS aleatoria não estiver

  77.     "Wind",                     # sendo usada,a primeira musica sera a permanente

  78.     "Clock",                    # Nesse caso sera a "Wind"

  79.     "Fire"]

  80.     VOLUME_LOGO_BGS = 75                       # Volume da BGS de Logo

  81.    
  82.     LOGO_FOG_NAME = "Fog"            # Nome da Nevoa usada na logo

  83.     LOGO_FOG_BLEND_TYPE = 2           # (0: normal, 1: adição, 2: subtração)

  84.     FOG_HORIZONTAL_MOVIMENT_SPEED = 2 # velocidade do Movimento Horizontal da fog

  85.     FOG_VERTICAL_MOVIMENT_SPEED = 0   # Velocidade do Movimento Vertical da Fog

  86.    
  87.     NAME_LOGO_PIC = "Logo"            # Nome da Imagem de Logo

  88.     NAME_LOGO_BACK_PIC = "Back"  # Nome da imagem de fundo da logo

  89.     LOGO_BACK_PIC_HORIZONTAL_MOVIMENT = 1  # Vel. dp movimento da imagem de fundo

  90.    
  91.    
  92.     LIGHT_PIC_NAME = "Lights"                  # Nome da imagem de luz

  93.     LOGO_LIGHT_PIC_BLEND_TYPE = 1              # (0: normal, 1: adição, 2: subtração)

  94.     LIGHT_PIC_HORIZONTAL_MOVIMENT_VELOCITY = 1 # Velocidade do Movimento Horizontal da Luz

  95.     LIGHT_PIC_VERTICAL_MOVIMENT_VELOCITY = 1   # Velocidade do Movimento vertical da Luz

  96.     LIGHT_PIC_LOGO_ZOOM_X = 1                  # Zoom X da img de luz na Logo

  97.     LIGHT_PIC_LOGO_ZOOM_Y = 1                  # Zoom Y da img de luz na logo

  98.   end

  99. end

  100. #==============================================================================#

  101. # [** $RafiScripts.conf_end ] \\ Fim das Configurações                         #

  102. #------------------------------------------------------------------------------#
  103. # Verificando se o Script esta incluso no Sistema

  104. if Rafidelis.script_exist?("Scene Logo","2.0")

  105. #==============================================================================

  106. # Cache

  107. #------------------------------------------------------------------------------

  108. # Nesta classe vários gráficos são carregados e guardados como Bitmaps. Para
  109. # acelerar o processo e preservar a memória, os Bitmaps são guardados em cache

  110. # para uso futuro.
  111. #==============================================================================

  112. module Cache

  113.   def self.logo(filename)

  114.     load_bitmap("Graphics/Logo/", filename)

  115.   end

  116. end


  117. #==============================================================================#

  118. # Scene_Logo                                                                   #                  

  119. #------------------------------------------------------------------------------#

  120. # Classe de operações na tela de logo                                          #

  121. #==============================================================================#

  122. class Scene_Logo < Scene_Base

  123.   include Rafidelis::Logo

  124.   def initialize

  125.     $data_system        = load_data("Data/System.rvdata")

  126.   end

  127.   #--------------------------------------------------------------------------

  128.   # Inicialização do processo

  129.   #--------------------------------------------------------------------------

  130.   def start   
  131.     create_logo_images

  132.     @tempo = 0

  133.     @retire_opacity = false

  134.   end

  135.   #--------------------------------------------------------------------------

  136.   # Criação das imagens da logo

  137.   #--------------------------------------------------------------------------

  138.   def create_logo_images

  139.     imgs_names = [NAME_LOGO_BACK_PIC,NAME_LOGO_PIC,LOGO_FOG_NAME,LIGHT_PIC_NAME]

  140.     @logo_sprites = []

  141.     for i in 0...imgs_names.size

  142.       if i == 1
  143.         @logo_sprites[i] = Sprite.new

  144.       else

  145.         @logo_sprites[i] = Plane.new

  146.       end

  147.       @logo_sprites[i].bitmap = Cache.logo(imgs_names[i])

  148.       @logo_sprites[i].opacity = 0

  149.       @logo_sprites[i].z = i * 30

  150.     end

  151.     @logo_sprites[1].z = 999

  152.     @logo_sprites[2].blend_type = LOGO_FOG_BLEND_TYPE

  153.     @logo_sprites[3].blend_type = LOGO_LIGHT_PIC_BLEND_TYPE
  154.     @logo_sprites[3].zoom_x = LIGHT_PIC_LOGO_ZOOM_X

  155.     @logo_sprites[3].zoom_y = LIGHT_PIC_LOGO_ZOOM_Y

  156.   end

  157.   #--------------------------------------------------------------------------

  158.   # Atualização do processo

  159.   #--------------------------------------------------------------------------

  160.   def update

  161.     play_random_BGS

  162.     update_time

  163.     create_fadein_fadeout_efect

  164.     update_images_moviments

  165.     if USE_INPUT and Input.trigger?(Input::C) and @tempo != TIME_DURATION_LOGO

  166.       Audio.bgs_fade(10)
  167.       Audio.se_play("Audio/SE/Save")

  168.       @tempo = TIME_DURATION_LOGO

  169.       @retire_opacity = true

  170.     end

  171.     if @logo_sprites[1].opacity == 0 and @tempo == TIME_DURATION_LOGO

  172.       $scene = Scene_Title.new

  173.     end

  174.   end
  175.   #--------------------------------------------------------------------------

  176.   # Atualização do movimento das imagens

  177.   #--------------------------------------------------------------------------

  178.   def update_images_moviments

  179.     @logo_sprites[2].ox -= FOG_HORIZONTAL_MOVIMENT_SPEED

  180.     @logo_sprites[2].oy -= FOG_VERTICAL_MOVIMENT_SPEED

  181.     @logo_sprites[0].ox += LOGO_BACK_PIC_HORIZONTAL_MOVIMENT

  182.     @logo_sprites[3].ox += LIGHT_PIC_HORIZONTAL_MOVIMENT_VELOCITY

  183.     @logo_sprites[3].oy += LIGHT_PIC_VERTICAL_MOVIMENT_VELOCITY

  184.   end

  185.   #--------------------------------------------------------------------------

  186.   # Criação dos efeitos de Fade-in e Fade-out

  187.   #--------------------------------------------------------------------------

  188.   def create_fadein_fadeout_efect

  189.     if @retire_opacity

  190.       for i in 0...@logo_sprites.size

  191.         if @logo_sprites[i].opacity > 0

  192.           @logo_sprites[i].opacity -= 5

  193.         end

  194.       end

  195.     end

  196.     if not @retire_opacity

  197.       for i in 0...@logo_sprites.size

  198.         if i == 2

  199.            @logo_sprites[i].opacity += 5 if @logo_sprites[i].opacity < 100

  200.        elsif i != 2 and @logo_sprites[i].opacity < 255

  201.          @logo_sprites[i].opacity += 5

  202.         end

  203.       end

  204.     end

  205.   end

  206.   #--------------------------------------------------------------------------

  207.   # Tocar a BGS aletoriamente

  208.   #--------------------------------------------------------------------------

  209.   def play_random_BGS

  210.     if @tempo == 0

  211.       if USE_RANDOM_BGS
  212.         aleatory_se = rand(RANDONS_BGS.size)

  213.         Audio.bgs_play("Audio//BGS//#{RANDONS_BGS[aleatory_se]}",VOLUME_LOGO_BGS)

  214.       else

  215.         Audio.bgs_play("Audio/BGS//#{RANDONS_BGS[0]}",VOLUME_LOGO_BGS)

  216.       end

  217.     end

  218.   end

  219.   #--------------------------------------------------------------------------

  220.   # Atualização do tempo da logo

  221.   #--------------------------------------------------------------------------

  222.   def update_time

  223.     @tempo += 1 if @tempo < TIME_DURATION_LOGO

  224.     @retire_opacity = true if @tempo == TIME_DURATION_LOGO

  225.   end

  226.   #--------------------------------------------------------------------------

  227.   # Finalização do processo

  228.   #--------------------------------------------------------------------------

  229.   def terminate

  230.     Audio.bgs_stop

  231.     for i in 0...@logo_sprites.size

  232.         @logo_sprites[i].bitmap.dispose

  233.         @logo_sprites[i].dispose

  234.       end

  235.     end

  236.   end

  237.   # Finalizando a verificação do script no Sistema

  238. end

  239. #==============================================================================#

  240. # [** $RafiScripts.script_end] // Fim do Script - Script End                   #

  241. #------------------------------------------------------------------------------#

  242. # Você pode encontrar mais scripts meus em www.ReinoRPG.com                    #

  243. # You can find more scripts create for me at www.ReinoRPG.com                  #

  244. #==============================================================================#
复制代码
来源http://rpg.blue/forum.php?mod=vi ... 7%E9%A2%98%E5%89%8D
作者: 南极の曙光    时间: 2011-12-12 18:09
本帖最后由 南极の曙光 于 2011-12-12 18:25 编辑
小白玩家 发表于 2011-12-12 17:50
这个简单,图片名字Image1


诶?gif的图片吗?我是想插入一段类似于小视频的东西


顺便再问一下……这个怎么能让Image1文件停留在屏幕里不消失,然后Image2……3……4往上叠加?
作者: 退屈£无聊    时间: 2011-12-13 19:27
能拆成N个图片分别显示吗?找个跳过标题脚本然后用事件里的显示图片来实现……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1