Jump to content
Rpg²S Forum

Goplaygo

Utenti
  • Posts

    95
  • Joined

  • Last visited

Posts posted by Goplaygo

  1. Dicevi che non potevi saltarlo e io ti ho dimostrato che era una bazzecola. Nota anche che avevi sottolineato "soprattutto non potrei saltarlo", facendo intuire che era quello il problema principale. Non intendevo insultarti, ma ti ho mostrato come usando solo 4 comandi base di programmazione ad eventi (mostra immagine, condizione se, attesa, cancella immagine) puoi saltarlo, risolvendo il problema sottolineato dal "soprattutto", che era anche il problema per cui hai aperto il topic in primo luogo.

     

    Ovviamente capisco bene che non è la soluzione ottimale animare un video con i mostra immagine, ma è anche la più fattibile: io gioco sempre in full screen e non è bello non poterlo fare perché altrimenti il video va a prostituteXD

    Se ti fosse possibile estrarre i singoli fotogrammi dal video "perfetto" e riuscissi ad animarli bene da rpgmaker otterresti un risultato decente e full screen-compatibileXD

     

    Comunque, ribadisco che il mio non voleva essere un insulto^^

     

     

    l'insulto in questione anche se involontario è del fatto che tu hai risposto dicendo che il video con quel metodo uscirebbe pulito o meglio "normale", è totalmente errato perché ho visto quello che mi hai fatto vedere tu non è assolutamente il risultato che io miro.. il risultato che miro io è un Anime Video (dalla durata di 2 min) , non sò se hai mai visto un anime.. quindi non sò dirti più precisamente dove stavi sbagliando.. comunque sia.. su quel piano abbiamo risolto quel piccolo problema dell'insulto anche perché la colpa è mia per non aver precisato dove tu sbagliavi.. poi.. sai quante immagini ci vogliono per ricreare un video di 10 secondi? quindi non solo ci sarebbe tantissimo lavoro con rpg maker e soprattutto tantissimo peso in + per una sola intro.. invece nei video è totalmente diverso.. quindi preferivo fin dall'inizio utilizzare un video così da risolvere tutti i problemi nella fase di progettazione.. e per il fatto dello schermo intero, sono riuscito a risolverlo senza problemi, in poche parole adesso il mio lavoro è completo. Per quanto riguarda il video intro.. basterà solamente mettere il mio video da me creato e ho finito con l'intro!

  2. no no, non ho detto che sia inutile per quel motivo, ma sarò io a lavorar al video e ho i programmi professionali (di cui ho le conoscenze) per lavorarci, se mi dici di mettere un immagine sopra un altra, verrebbe sballata, io ti parlo di un video Anime, senza difetti, c'è la lavorazione di molte cose dietro non è solo metti immagine 1, metti immagine 2 e così via... quindi è vero che non sono un programmatore ma così tu insulti la mia persona senza conoscere le mie capacità..

  3. si e si, ora non c'è l'ho quindi sto usando dei video di prova, ma quando lo script sarà perfettamente ok, metterò tutti video creati da me (o meglio del mio staff) in stile anime.. per questo è importante che funzioni tutto fino ai minimi dettagli... e un altra cosa.. quando metto a schermo intero.. mi dà un errore dello script.. invece qnd lo metto a finestra mi funziona tutto..(per funziona tutto intendo che si avvia non che si sia risolto quel problema di prima..) perché?

  4. l'ho sistemato, era il programma, vlc nn lo supportava, ora funge ma non si sente l'audio o.O di qualsiasi video che metto o.O o meglio.. ho due video per provare, nel primo video ogv (dura 3/4 sec) si vede la prima immagine dopo i 3/4 sec si toglie ma nn si sente l'audio, nel secondo .avi rimane a schermo nero e non si sente l'audio..nn ho provato a vedere se è come nel primo caso che dopo i tot di secondi si toglie ma penso di si.. cmq.. come si può risolvere?
  5. 
    

     

     

    #==============================================================================
    #
    # [ACE]EST_SOV_Video_Player ++ Conversion
    # 
    # v1.4
    #==============================================================================
    # Author : Estriole
    # (Conversion to ace and improving)
    # VX version author: SuperOverlord
    #
    # also credit Crystal Noel for solution for title that have encoding problem character
    # also credit ruin for fixes he made to this script.
    #
    # History :
    # version 1.4 2013.05.16 - apply fixes from ruin. typo error and ability to use
    #                          play video using battle event page.
    # version 1.3 2013.03.05 - create configuration for people that have encoding character
    #                          problem with their title. ex: Pokémon Ace. 
    #                          set the IGNORE_TITLE to true inside module Sov::Video
    # version 1.2 2012.09.27 - made if game at fullscreen automaticly become windowed
    # version 1.1 2012.09.25 - some bug fix. now avi video can played at full screen mode(alt enter) with some position error.
    #                        - can play other format such as mkv but it will play full screen and when played at full screen
    #                          mode (alt enter) the size will be smaller and the game switched.
    #                        - basicly this script not support full screen game yet. will try to fix this in next version
    # version 1.0 2012.09.23 - finish converting + some change
    #
    #
    #==============================================================================
    # Features:
    #------------------------------------------------------------------------------
    # o Play video's on the map or in battle using a simple script event command.
    #
    # o Optionally pause or exit video's while they play.
    #
    # o View the video in the game window or in fullscreen.
    #
    # o Setup video skills, which show the video before damage effects.
    #
    # o ACE version also made not only video skill but can use video item too
    # 
    # o ACE version also can play video before title scene
    # 
    #==============================================================================
    # Instructions:
    #------------------------------------------------------------------------------
    # o Place all videos in a folder with the same name as in configuration.
    #   This folder is created automatically the first time the game is played if
    #   it doesn't already exist.
    #
    # o Playing Videos when on the map.
    #
    #   - See script calls below.
    #
    # o Playing videos in battle.
    #
    #   - As when on the map the script event command can be used in battle also.
    #
    #   - As well as this you can setup skills as video skills which display
    #     a video before damaging the enemy.
    #
    #     <now below setup can be also used for item video too>
    #     To do this the following tags can be used in the skills notebox:
    #     1) <video_name = "filename">
    #        ~ name is the name of the video file. If the filename extension is
    #          missing the first file matching that name is used.
    #          (Quotes are necessary around the filename)
    #
    #      As well as the first tag 2 others are available. These tags will only
    #      take effect if placed on a line below the first tag.
    #      If these don't exist they are assumed true.
    #
    #      2) <video_exitable = n>   ~ Can the video be exited by the exit input?
    #      3) <video_pausable = n>   ~ Can the video be paused?
    #         ~ n is replaced with either t or f (t : true, f : false)
    #
    #      For other Video properties (x,y,width,height,fullscreen) the default
    #      settings are used. (See script calls below)
    #
    # o Playing videos before title screen
    # ctrl + f this : CONFIGURATION FOR VIDEO BEFORE TITLE
    # and change the 
    # @video_title = nil 
    # to
    # @video_title = "yourvideonamewithoutextensionhere"
    #
    #==============================================================================
    # Script Calls:
    #------------------------------------------------------------------------------
    # Commands (From the script call command on page three of event commands)
    #------------------------------------------------------------------------------
    # o To change default values for video properties.
    #
    #  1) Video.default_x = n
    #  2) Video.default_y = n
    #  3) Video.default_width  = n
    #  4) Video.default_height = n
    #  5) Video.fullscreen = bool #disabled now since could make error
    #  
    #  In all 5 commands above:
    #  ~ n is an integer value
    #  ~ bool is either true or false
    #
    # o To play videos
    #
    #   play_video(filename,exitable,pausable)
    #   ~ filename : name of video file             (Must be in quotes)
    #   ~ exitable : Can the video be exited?       (When left out = true)
    #   ~ pausable : Can the video be paused?       (When left out = true)
    #  
    #   For all other values the default's are used.
    #==============================================================================
    # Compatibility:
    #------------------------------------------------------------------------------
    # o Skill videos will depend on the battle system but sould work.
    #==============================================================================
    # Credit:
    #------------------------------------------------------------------------------
    # o Credit goes to Trebor and Berka whose scripts helped be figure out the
    #   mci_send_stringA function.
    #==============================================================================
    
    module SOV
      module Video
      #--------------------------------------------------------------------------
      # Configuration
      #--------------------------------------------------------------------------
        # Name of folder for videos to be held in.
        DIR_NAME = "Graphics/Videos"
        # Exit video input
        EXIT_INPUT  = Input::B
        # Pause video input
        PAUSE_INPUT = Input::C
        
        IGNORE_TITLE = true
        #set to true if your title contain strange character such as é or other.    
      #--------------------------------------------------------------------------
      # End Configuration
      #--------------------------------------------------------------------------
      end
    end
    
    module SceneManager
    ################ CONFIGURATION FOR VIDEO BEFORE TITLE #######################  
      @video_title = "Movie"  # "example" # FILENAME OF THE VIDEO IN VIDEO FOLDER IN QUOTES
      #IF YOU DON'T WANT TO USE THIS FEATURE JUST CHANGE TO NIL
    ################ END CONFIGURATION ##########################################  
      def self.run
        DataManager.init
        Audio.setup_midi if use_midi?
        if @video_title != nil
        video = Cache.video(@video_title)
        video.exitable = true # True/False
        video.pausable = true # True/False
        Video.play(video)
        end
        @scene = first_scene_class.new
        @scene.main while @scene
      end
    end
    
    class << Graphics
      def Graphics.fullscreen? # Property
        screen_size = Win32API.new('user32', 'GetSystemMetrics', 'I', 'I')
        screen_width = screen_size.call(0);   screen_height = screen_size.call(1)    
        detect_fullscreen = false
        detect_fullscreen = true if screen_width == 640 and screen_height == 480
        return detect_fullscreen
      end
      def Graphics.toggle_fullscreen # Main function
        keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
        keybd.call(0xA4, 0, 0, 0)
        keybd.call(13, 0, 0, 0)
        keybd.call(13, 0, 2, 0)
        keybd.call(0xA4, 0, 2, 0)    
      end
    end
    
    #==============================================================================
    # Import
    #------------------------------------------------------------------------------
    $imported = {} if $imported == nil
    $imported['Videos'] = true
    #==============================================================================
    
    #==============================================================================
    # ** SOV::Video::Commands
    #==============================================================================
    
    module SOV::Video::Commands
      #--------------------------------------------------------------------------
      # * Play a video
      #  filename : video's filename (with or without extension)
      #  exitable : Can the video be exited
      #  pausable : Can the video be paused
      #--------------------------------------------------------------------------
      def play_video(filename,exitable=true,pausable=true)
        video = Cache.video(filename)
        video.exitable = exitable
        video.pausable = pausable
        $game_map.video = video
      end
      #---------------------------------------------------------------------------
      # Define as module function
      #---------------------------------------------------------------------------
      module_function :play_video
    end
    
    #==============================================================================
    # ** SOV::Video::Regexp
    #==============================================================================
    
    module SOV::Video::Regexp
      #--------------------------------------------------------------------------
      # * Skill
      #--------------------------------------------------------------------------
      module Skill
        FILENAME   = /<video[_ ]?(?:file)?name = "(.+)">/i
        PAUSABLE   = /<video[_ ]?paus(?:e|able) = (t|f)>/i
        EXITABLE   = /<video[_ ]?exit(?:able)? = (t|f)>/i
      end
    end
    
    #==============================================================================
    # ** SOV::Game
    #==============================================================================
    
    module SOV::Game
      #--------------------------------------------------------------------------
      # Constants
      #--------------------------------------------------------------------------
      INI = 'Game'
      #--------------------------------------------------------------------------
      # * Get the game windows handle
      #--------------------------------------------------------------------------
      def self.hwnd
        unless defined?(@@hwnd)
          find_window = Win32API.new('user32','FindWindow','pp','i')
    #      @@hwnd = find_window.call('RGSS Player',title)  
          gamefullscreen = Graphics.fullscreen?
          @@hwnd = find_window.call('RGSS Player',title)  
        end
        return @@hwnd
      end
      #--------------------------------------------------------------------------
      # * Get game title
      #--------------------------------------------------------------------------
      def self.title
        unless defined?(@@title)
          @@title = read_ini('title')
        end
        return @@title
      end
      #--------------------------------------------------------------------------
      # * Read ini (Returns nil or match)
      #--------------------------------------------------------------------------
      def self.read_ini(variable,filename=INI)
        return nil if variable == 'title' && SOV::Video::IGNORE_TITLE
        reg = /^#{variable}=(.*)$/
        File.foreach(filename+'.ini') { |line| break($1) if line =~ reg }
      end
    end
    
    #==============================================================================
    # ** Cache
    #==============================================================================
    
    module Cache
      #--------------------------------------------------------------------------
      # Class Variables
      #--------------------------------------------------------------------------
      @@vcache = {}
      #--------------------------------------------------------------------------
      # Define as class methods
      #--------------------------------------------------------------------------
      class << self
        #------------------------------------------------------------------------
        # Alias List
        #------------------------------------------------------------------------
        alias sov_video_clear clear unless $@
        #------------------------------------------------------------------------
        # * Get a video object
        #  filename : basename of file
        #------------------------------------------------------------------------
        def video(filename)
          # Get full filename if extension is missing
          if File.extname(filename) == ''
            files = Dir["#{SOV::Video::DIR_NAME}/#{filename}.*"]
            filename = File.basename(files[0]) # Set as first matching file
          end
          # Create or get the video object.
          if @@vcache.has_key?(filename)
            @@vcache[filename]
          else
            @@vcache[filename] = Video.new(filename)
          end
        end
        #------------------------------------------------------------------------
        # * Clear
        #------------------------------------------------------------------------
        def clear
          @@vcache.clear
          sov_video_clear
        end
      end
    end
    
    #==============================================================================
    # ** RPG::Skill
    #==============================================================================
    
    class RPG::UsableItem
      #--------------------------------------------------------------------------
      # * Determine if skill has a video skill
      #--------------------------------------------------------------------------
      def video
        if @video == nil
          @note.each_line { |line|
            if @video == nil
              @video = Cache.video($1) if line =~ SOV::Video::Regexp::Skill::FILENAME
            else
              @video.pausable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::PAUSABLE
              @video.exitable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::EXITABLE
            end
          }
          @video = :invalid if @video == nil
        end
        return @video
      end
    end
    
    #==============================================================================
    # ** Video
    #------------------------------------------------------------------------------
    #  Class handling playing videos.
    #==============================================================================
    
    class Video
      #--------------------------------------------------------------------------
      # Constants
      #--------------------------------------------------------------------------
      TYPE_AVI  = 'avivideo'
      TYPE_MPEG = 'mpegvideo'
      #--------------------------------------------------------------------------
      # Class Variables
      #--------------------------------------------------------------------------
      @@default_x = 0
      @@default_y = 0
      @@default_width  = Graphics.width
      @@default_height = Graphics.height
      @@fullscreen = false
      #--------------------------------------------------------------------------
      # * Get and Set default_x/y/width/height
      #--------------------------------------------------------------------------
      for d in %w(x y width height)
        # Define setter method
        module_eval(%Q(def self.default_#{d}=(i); @@default_#{d} = i; end))
        # Define getter method
        module_eval(%Q(def self.default_#{d}; @@default_#{d}; end))
      end
      #--------------------------------------------------------------------------
      # * Get fullscreen
      #--------------------------------------------------------------------------
      def self.fullscreen
        @@fullscreen
      end  
      #--------------------------------------------------------------------------
      # * Set fullscreen
      #--------------------------------------------------------------------------
      def self.fullscreen=(val)
        @@fullscreen = val
      end
      #--------------------------------------------------------------------------
      # * Win32API
      #--------------------------------------------------------------------------
      @@mciSendStringA = Win32API.new('winmm','mciSendStringA','pplp','i')
      #--------------------------------------------------------------------------
      # * Video Command
      #  command_string : string following mci_command_string format
      #  buffer : string to retrieve return data
      #  buffer_size : number of characters in buffer
      #  callback_handle : handle of window to callback to. Used if notify is used
      #                    in the command string. (Not supported by game window)
      #--------------------------------------------------------------------------
      def self.send_command(cmnd_string,buffer='',buffer_size=0,callback_handle=0)
        # Returns error code. No error if NULL
        err = @@mciSendStringA.call(cmnd_string,buffer,buffer_size,callback_handle)
        if err != 0
          buffer = ' ' * 255
          Win32API.new('winmm','mciGetErrorString','LPL','V').call(err,buffer,255)
          raise(buffer.squeeze(' ').chomp('\000'))
        end
      end
        
      #--------------------------------------------------------------------------
      # * Play a video
      #--------------------------------------------------------------------------
      def self.play(video)
        # Make path and buffer
        path = "#{SOV::Video::DIR_NAME}/#{video.filename}"
        buffer = ' ' * 255
        # Initialize device and dock window with game window as parent.
        type = " type #{video.type}" if video.type != ''
        send_command("open #{path}#{type} alias VIDEO style child parent #{SOV::Game.hwnd}")
        # Display video in client rect at x,y with width and height.
        x = video.x
        y = video.y
        width  = video.width
        height = video.height
        send_command("put VIDEO window at #{x} #{y} #{width} #{height}")
        # Begin playing video
        screen = @@fullscreen ? 'fullscreen' : 'window'
        gamefullscreen = Graphics.fullscreen?
        case video.type
        when "avivideo"
          if gamefullscreen == true
          #send_command("put VIDEO window at #{x} #{y} 640 480")
          Graphics.toggle_fullscreen
          send_command("play VIDEO window")
          else
          send_command("play VIDEO window")
          end
        when "mpegvideo"
            if gamefullscreen == true
            Graphics.toggle_fullscreen
            send_command("play VIDEO window")
            else
            send_command("play VIDEO fullscreen")
            end
        else
        end
        flag = 0
        # Start Input and status processing loop
        while buffer !~ /^stopped/
          # Idle processing for a frame
          sleep(1.0/Graphics.frame_rate)
          # Get mode string
          send_command('status VIDEO mode',buffer,255)
          Input.update    
          if Input.trigger?(SOV::Video::PAUSE_INPUT) and video.pausable?
            Sound.play_cursor
            if buffer =~ /^paused/                 # If already paused
              send_command("resume VIDEO")         # Resume video
            else                                   # Otherwise
              send_command("pause VIDEO")          # Pause video
            end
          elsif Input.trigger?(SOV::Video::EXIT_INPUT) and video.exitable?
            Sound.play_cancel
            # Terminate loop on exit input
            break
          end
        end
        # Terminate the device
        send_command('close VIDEO')
      end
      #--------------------------------------------------------------------------
      # Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :x
      attr_accessor :y
      attr_accessor :width
      attr_accessor :height
      attr_writer :exitable
      attr_writer :pausable
      attr_reader :filename
      #--------------------------------------------------------------------------
      # * Initialize
      #--------------------------------------------------------------------------
      def initialize(filename)
        unless FileTest.file?("#{SOV::Video::DIR_NAME}/#{filename}")
          raise(Errno::ENOENT,filename)
        end
        @filename = filename
        @x = @@default_x
        @y = @@default_y
        @width  = @@default_width
        @height = @@default_height
        @exitable = true
        @pausable = true
      end
      #--------------------------------------------------------------------------
      # * Get Type
      #--------------------------------------------------------------------------
      def type
        if @type == nil
          case File.extname(@filename)
          when '.avi'; @type = TYPE_AVI
          when '.mpeg'||'.mpg'; @type = TYPE_MPEG
          else
            @type = TYPE_MPEG#''
          end
        end
        @type
      end
      #--------------------------------------------------------------------------
      # * Is the video exitable?
      #--------------------------------------------------------------------------
      def exitable?
        @exitable
      end
      #--------------------------------------------------------------------------
      # * Is the video pausable?
      #--------------------------------------------------------------------------
      def pausable?
        @pausable
      end
      #--------------------------------------------------------------------------
      # Access
      #--------------------------------------------------------------------------
      private_class_method :send_command  
    end
    
    #==============================================================================
    # ** Game_Interpreter
    #==============================================================================
    
    class Game_Interpreter
      #--------------------------------------------------------------------------
      # Import
      #--------------------------------------------------------------------------
      include(SOV::Video::Commands)
    end
    
    #==============================================================================
    # ** Game_Map
    #==============================================================================
    
    class Game_Map
      #--------------------------------------------------------------------------
      # Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :video  
    end
    
    #==============================================================================
    # ** Scene_Map
    #==============================================================================
    
    class Scene_Map
      #--------------------------------------------------------------------------
      # Alias List
      #--------------------------------------------------------------------------
      alias sov_video_update update unless $@
      #--------------------------------------------------------------------------
      # * Play Video
      #--------------------------------------------------------------------------
      def play_video(video)
        # Memorize and stop current bgm and bgs
        bgm = RPG::BGM.last
        bgs = RPG::BGS.last
        RPG::BGM.stop
        RPG::BGS.stop
        # Play video
        Video.play(video)
        # Restart bgm and bgs
        bgm.play
        bgs.play
      end
      #--------------------------------------------------------------------------
      # * Update
      #--------------------------------------------------------------------------
      def update
        if $game_map.video != nil
          play_video($game_map.video)
          $game_map.video = nil
          Input.update
        else
          sov_video_update
        end
      end
    end
    
    #==============================================================================
    # ** Scene_Battle
    #==============================================================================
    
    class Scene_Battle
      #--------------------------------------------------------------------------
      # * Alias list
      #--------------------------------------------------------------------------
      alias sov_video_update_battle update unless $@
      alias sov_video_use_item use_item unless $@
      #--------------------------------------------------------------------------
      # * Play Video
      #--------------------------------------------------------------------------
      def play_video(video)
        # Memorize and stop current bgm
        bgm = RPG::BGM.last
        RPG::BGM.stop
        # Play video
        Video.play(video)
        # Restart bgm
        bgm.play
      end
      #--------------------------------------------------------------------------
      # * Execute Action Skill
      #--------------------------------------------------------------------------
      def use_item
        skill = @subject.current_action.item    
        if skill.video.is_a?(Video)
          execute_action_video(skill)
          sov_video_use_item
        else
          sov_video_use_item
        end
      end
      #--------------------------------------------------------------------------
      # * Execute Action Video
      #--------------------------------------------------------------------------
      def execute_action_video(skill)
        br = Graphics.brightness
        120.times { |i| Graphics.brightness = 255 - 255/60 * i; Graphics.update }
        # Play video
        play_video(skill.video)
        # Reset brightness
        Graphics.brightness = br
      end
      #ADDED UPDATE FUNCTION FROM SCENE_MAP TO SCENE_BATTLE
      def update
        if $game_map.video != nil
          play_video($game_map.video)
          $game_map.video = nil
          Input.update
        else
          sov_video_update_battle
        end
      end
      
    end
    
    
    
    
    
    #==============================================================================
    # Pre-Main Processing
    #==============================================================================
    
    unless FileTest.directory?(SOV::Video::DIR_NAME) # If directory doesn't exist.
      Dir.mkdir(SOV::Video::DIR_NAME)                # Make the directory
    end
    
    =begin
    =end
    

     

     

     

    Dove sto sbagliando? mi dà questo errore...

     

     

     

     

    Script "comandi video" line 390 RuntimeError occurred.
    Nessun dispositivo WAVE in grado di eseguire file nel formato corrente. Per installare un dispositivo WAVE, fare clic su Stampanti e altro hardware in Pannello di controllo, quindi scegliere Installazione hardware.

     

     

  6. @Go: sì, ma dovrebbe essere solo il primo nil, cioè quello tra ####, l'altro dice appunto se il video non è nil allora fai questo, ma se tu gli metti se il video non è nome video allora ovviamente ti salta tutto! XD

    ^ ^

     

    alla fine non riesco a capire cosa fare.. ho cambiato tutti i nil tranne qll ke hai detto tu e nn mi partiva ... ho ricopiato e ri incollato lo script.. messo un video di nome nil.. ma nn funzionano i comandi.. ho fatto ancor prima di tutto questo qll ke mi hai detto tu.. ma niente... dove sbaglio? nn riesco a mettere pausa il video.. nn vorrei che l'errore sia sul fatto che deve essere un video AVI.. xke nn ho lo script che legga l' AVI.. può essere questo problema? se è si.. potreste aiutarmi a trovare uno script che permetta tale funzione? aspetto risposte

  7. Ah credevo che non funzionasse e basta dal messaggio prima. Per metterlo in pausa devi usare invio/X (o meglio il tasto associato a C) per uscire il tasto Z (o meglio quello associato a B). Comunque l'hai configurato in modo che sia possibile metterlo in pausa ed uscire? Devi usare questo metodo:

    play_video(filename,exitable,pausable)

    mettere t od f al posto delle ultime due opzioni se vuoi o no che siano attivate, per esempio un video di nome cagnolino che può essere skippato, ma non messo in pausa è

    play_video("cagnolino", t, f)

    ^ ^

     

    questo è il mio script modificato.. dove sbaglio?? :(

     

     

     

    #==============================================================================
    #
    # [ACE]EST_SOV_Video_Player ++ Conversion
    #
    # v1.4
    #==============================================================================
    # Author : Estriole
    # (Conversion to ace and improving)
    # VX version author: SuperOverlord
    #
    # also credit Crystal Noel for solution for title that have encoding problem character
    # also credit ruin for fixes he made to this script.
    #
    # History :
    # version 1.4 2013.05.16 - apply fixes from ruin. typo error and ability to use
    #                          play video using battle event page.
    # version 1.3 2013.03.05 - create configuration for people that have encoding character
    #                          problem with their title. ex: Pokémon Ace.
    #                          set the IGNORE_TITLE to true inside module Sov::Video
    # version 1.2 2012.09.27 - made if game at fullscreen automaticly become windowed
    # version 1.1 2012.09.25 - some bug fix. now avi video can played at full screen mode(alt enter) with some position error.
    #                        - can play other format such as mkv but it will play full screen and when played at full screen
    #                          mode (alt enter) the size will be smaller and the game switched.
    #                        - basicly this script not support full screen game yet. will try to fix this in next version
    # version 1.0 2012.09.23 - finish converting + some change
    #
    #
    #==============================================================================
    # Features:
    #------------------------------------------------------------------------------
    # o Play video's on the map or in battle using a simple script event command.
    #
    # o Optionally pause or exit video's while they play.
    #
    # o View the video in the game window or in fullscreen.
    #
    # o Setup video skills, which show the video before damage effects.
    #
    # o ACE version also made not only video skill but can use video item too
    #
    # o ACE version also can play video before title scene
    #
    #==============================================================================
    # Instructions:
    #------------------------------------------------------------------------------
    # o Place all videos in a folder with the same name as in configuration.
    #   This folder is created automatically the first time the game is played if
    #   it doesn't already exist.
    #
    # o Playing Videos when on the map.
    #
    #   - See script calls below.
    #
    # o Playing videos in battle.
    #
    #   - As when on the map the script event command can be used in battle also.
    #
    #   - As well as this you can setup skills as video skills which display
    #     a video before damaging the enemy.
    #
    #     <now below setup can be also used for item video too>
    #     To do this the following tags can be used in the skills notebox:
    #     1) <video_name = "filename">
    #        ~ name is the name of the video file. If the filename extension is
    #          missing the first file matching that name is used.
    #          (Quotes are necessary around the filename)
    #
    #      As well as the first tag 2 others are available. These tags will only
    #      take effect if placed on a line below the first tag.
    #      If these don't exist they are assumed true.
    #
    #      2) <video_exitable = n>   ~ Can the video be exited by the exit input?
    #      3) <video_pausable = n>   ~ Can the video be paused?
    #         ~ n is replaced with either t or f (t : true, f : false)
    #
    #      For other Video properties (x,y,width,height,fullscreen) the default
    #      settings are used. (See script calls below)
    #
    # o Playing videos before title screen
    # ctrl + f this : CONFIGURATION FOR VIDEO BEFORE TITLE
    # and change the
    # @video_title = nil
    # to
    # @video_title = "yourvideonamewithoutextensionhere"
    #
    #==============================================================================
    # Script Calls:
    #------------------------------------------------------------------------------
    # Commands (From the script call command on page three of event commands)
    #------------------------------------------------------------------------------
    # o To change default values for video properties.
    #
    #  1) Video.default_x = n
    #  2) Video.default_y = n
    #  3) Video.default_width  = n
    #  4) Video.default_height = n
    #  5) Video.fullscreen = bool #disabled now since could make error
    #  
    #  In all 5 commands above:
    #  ~ n is an integer value
    #  ~ bool is either true or false
    #
    # o To play videos
    #
    #   play_video(filename,exitable,pausable)
    #   ~ filename : name of video file             (Must be in quotes)
    #   ~ exitable : Can the video be exited?       (When left out = true)
    #   ~ pausable : Can the video be paused?       (When left out = true)
    #  
    #   For all other values the default's are used.
    #==============================================================================
    # Compatibility:
    #------------------------------------------------------------------------------
    # o Skill videos will depend on the battle system but sould work.
    #==============================================================================
    # Credit:
    #------------------------------------------------------------------------------
    # o Credit goes to Trebor and Berka whose scripts helped be figure out the
    #   mci_send_stringA function.
    #==============================================================================
     
    module SOV
      module Video
      #--------------------------------------------------------------------------
      # Configuration
      #--------------------------------------------------------------------------
        # Name of folder for videos to be held in.
        DIR_NAME = "Videos"
        # Exit video input
        EXIT_INPUT  = Input::B
        # Pause video input
        PAUSE_INPUT = Input::C
       
        IGNORE_TITLE = true
        #set to true if your title contain strange character such as é or other.    
      #--------------------------------------------------------------------------
      # End Configuration
      #--------------------------------------------------------------------------
      end
    end
     
    module SceneManager
    ################ CONFIGURATION FOR VIDEO BEFORE TITLE #######################  
      @video_title = "Introavi"  # "example" # FILENAME OF THE VIDEO IN VIDEO FOLDER IN QUOTES
      #IF YOU DON'T WANT TO USE THIS FEATURE JUST CHANGE TO NIL
    ################ END CONFIGURATION ##########################################  
      def self.run
        DataManager.init
        Audio.setup_midi if use_midi?
        if @video_title != "Introavi"
        video = Cache.video(@video_title)
        video.exitable = true # True/False
        video.pausable = true # True/False
        Video.play(video)
        end
        @scene = first_scene_class.new
        @scene.main while @scene
      end
    end
     
    class << Graphics
      def Graphics.fullscreen? # Property
        screen_size = Win32API.new('user32', 'GetSystemMetrics', 'I', 'I')
        screen_width = screen_size.call(0);   screen_height = screen_size.call(1)    
        detect_fullscreen = false
        detect_fullscreen = true if screen_width == 640 and screen_height == 480
        return detect_fullscreen
      end
      def Graphics.toggle_fullscreen # Main function
        keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
        keybd.call(0xA4, 0, 0, 0)
        keybd.call(13, 0, 0, 0)
        keybd.call(13, 0, 2, 0)
        keybd.call(0xA4, 0, 2, 0)    
      end
    end
     
    #==============================================================================
    # Import
    #------------------------------------------------------------------------------
    $imported = {} if $imported == "Introavi"
    $imported['Videos'] = true
    #==============================================================================
     
    #==============================================================================
    # ** SOV::Video::Commands
    #==============================================================================
     
    module SOV::Video::Commands
      #--------------------------------------------------------------------------
      # * Play a video
      #  filename : video's filename (with or without extension)
      #  exitable : Can the video be exited
      #  pausable : Can the video be paused
      #--------------------------------------------------------------------------
      def play_video(filename,exitable=true,pausable=true)
        video = Cache.video(filename)
        video.exitable = exitable
        video.pausable = pausable
        $game_map.video = video
      end
      #---------------------------------------------------------------------------
      # Define as module function
      #---------------------------------------------------------------------------
      module_function :play_video
    end
     
    #==============================================================================
    # ** SOV::Video::Regexp
    #==============================================================================
     
    module SOV::Video::Regexp
      #--------------------------------------------------------------------------
      # * Skill
      #--------------------------------------------------------------------------
      module Skill
        FILENAME   = /<video[_ ]?(?:file)?name = "(.+)">/i
        PAUSABLE   = /<video[_ ]?paus(?:e|able) = (t|f)>/i
        EXITABLE   = /<video[_ ]?exit(?:able)? = (t|f)>/i
      end
    end
     
    #==============================================================================
    # ** SOV::Game
    #==============================================================================
     
    module SOV::Game
      #--------------------------------------------------------------------------
      # Constants
      #--------------------------------------------------------------------------
      INI = 'Game'
      #--------------------------------------------------------------------------
      # * Get the game windows handle
      #--------------------------------------------------------------------------
      def self.hwnd
        unless defined?(@@hwnd)
          find_window = Win32API.new('user32','FindWindow','pp','i')
    #      @@hwnd = find_window.call('RGSS Player',title)  
          gamefullscreen = Graphics.fullscreen?
          @@hwnd = find_window.call('RGSS Player',title)  
        end
        return @@hwnd
      end
      #--------------------------------------------------------------------------
      # * Get game title
      #--------------------------------------------------------------------------
      def self.title
        unless defined?(@@title)
          @@title = read_ini('title')
        end
        return @@title
      end
      #--------------------------------------------------------------------------
      # * Read ini (Returns nil or match)
      #--------------------------------------------------------------------------
      def self.read_ini(variable,filename=INI)
        return "Introavi" if variable == 'title' && SOV::Video::IGNORE_TITLE
        reg = /^#{variable}=(.*)$/
        File.foreach(filename+'.ini') { |line| break($1) if line =~ reg }
      end
    end
     
    #==============================================================================
    # ** Cache
    #==============================================================================
     
    module Cache
      #--------------------------------------------------------------------------
      # Class Variables
      #--------------------------------------------------------------------------
      @@vcache = {}
      #--------------------------------------------------------------------------
      # Define as class methods
      #--------------------------------------------------------------------------
      class << self
        #------------------------------------------------------------------------
        # Alias List
        #------------------------------------------------------------------------
        alias sov_video_clear clear unless $@
        #------------------------------------------------------------------------
        # * Get a video object
        #  filename : basename of file
        #------------------------------------------------------------------------
        def video(filename)
          # Get full filename if extension is missing
          if File.extname(filename) == ''
            files = Dir["#{SOV::Video::DIR_NAME}/#{filename}.*"]
            filename = File.basename(files[0]) # Set as first matching file
          end
          # Create or get the video object.
          if @@vcache.has_key?(filename)
            @@vcache[filename]
          else
            @@vcache[filename] = Video.new(filename)
          end
        end
        #------------------------------------------------------------------------
        # * Clear
        #------------------------------------------------------------------------
        def clear
          @@vcache.clear
          sov_video_clear
        end
      end
    end
     
    #==============================================================================
    # ** RPG::Skill
    #==============================================================================
     
    class RPG::UsableItem
      #--------------------------------------------------------------------------
      # * Determine if skill has a video skill
      #--------------------------------------------------------------------------
      def video
        if @video == "Introavi"
          @note.each_line { |line|
            if @video == "Introavi"
              @video = Cache.video($1) if line =~ SOV::Video::Regexp::Skill::FILENAME
            else
              @video.pausable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::PAUSABLE
              @video.exitable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::EXITABLE
            end
          }
          @video = :invalid if @video == "Introavi"
        end
        return @video
      end
    end
     
    #==============================================================================
    # ** Video
    #------------------------------------------------------------------------------
    #  Class handling playing videos.
    #==============================================================================
     
    class Video
      #--------------------------------------------------------------------------
      # Constants
      #--------------------------------------------------------------------------
      TYPE_AVI  = 'avivideo'
      TYPE_MPEG = 'mpegvideo'
      #--------------------------------------------------------------------------
      # Class Variables
      #--------------------------------------------------------------------------
      @@default_x = 0
      @@default_y = 0
      @@default_width  = Graphics.width
      @@default_height = Graphics.height
      @@fullscreen = false
      #--------------------------------------------------------------------------
      # * Get and Set default_x/y/width/height
      #--------------------------------------------------------------------------
      for d in %w(x y width height)
        # Define setter method
        module_eval(%Q(def self.default_#{d}=(i); @@default_#{d} = i; end))
        # Define getter method
        module_eval(%Q(def self.default_#{d}; @@default_#{d}; end))
      end
      #--------------------------------------------------------------------------
      # * Get fullscreen
      #--------------------------------------------------------------------------
      def self.fullscreen
        @@fullscreen
      end  
      #--------------------------------------------------------------------------
      # * Set fullscreen
      #--------------------------------------------------------------------------
      def self.fullscreen=(val)
        @@fullscreen = val
      end
      #--------------------------------------------------------------------------
      # * Win32API
      #--------------------------------------------------------------------------
      @@mciSendStringA = Win32API.new('winmm','mciSendStringA','pplp','i')
      #--------------------------------------------------------------------------
      # * Video Command
      #  command_string : string following mci_command_string format
      #  buffer : string to retrieve return data
      #  buffer_size : number of characters in buffer
      #  callback_handle : handle of window to callback to. Used if notify is used
      #                    in the command string. (Not supported by game window)
      #--------------------------------------------------------------------------
      def self.send_command(cmnd_string,buffer='',buffer_size=0,callback_handle=0)
        # Returns error code. No error if NULL
        err = @@mciSendStringA.call(cmnd_string,buffer,buffer_size,callback_handle)
        if err != 0
          buffer = ' ' * 255
          Win32API.new('winmm','mciGetErrorString','LPL','V').call(err,buffer,255)
          raise(buffer.squeeze(' ').chomp('\000'))
        end
      end
       
      #--------------------------------------------------------------------------
      # * Play a video
      #--------------------------------------------------------------------------
      def self.play(video)
        # Make path and buffer
        path = "#{SOV::Video::DIR_NAME}/#{video.filename}"
        buffer = ' ' * 255
        # Initialize device and dock window with game window as parent.
        type = " type #{video.type}" if video.type != ''
        send_command("open #{path}#{type} alias VIDEO style child parent #{SOV::Game.hwnd}")
        # Display video in client rect at x,y with width and height.
        x = video.x
        y = video.y
        width  = video.width
        height = video.height
        send_command("put VIDEO window at #{x} #{y} #{width} #{height}")
        # Begin playing video
        screen = @@fullscreen ? 'fullscreen' : 'window'
        gamefullscreen = Graphics.fullscreen?
        case video.type
        when "avivideo"
          if gamefullscreen == true
          #send_command("put VIDEO window at #{x} #{y} 640 480")
          Graphics.toggle_fullscreen
          send_command("play VIDEO window")
          else
          send_command("play VIDEO window")
          end
        when "mpegvideo"
            if gamefullscreen == true
            Graphics.toggle_fullscreen
            send_command("play VIDEO window")
            else
            send_command("play VIDEO fullscreen")
            end
        else
        end
        flag = 0
        # Start Input and status processing loop
        while buffer !~ /^stopped/
          # Idle processing for a frame
          sleep(1.0/Graphics.frame_rate)
          # Get mode string
          send_command('status VIDEO mode',buffer,255)
          Input.update    
          if Input.trigger?(SOV::Video::PAUSE_INPUT) and video.pausable?
            Sound.play_cursor
            if buffer =~ /^paused/                 # If already paused
              send_command("resume VIDEO")         # Resume video
            else                                   # Otherwise
              send_command("pause VIDEO")          # Pause video
            end
          elsif Input.trigger?(SOV::Video::EXIT_INPUT) and video.exitable?
            Sound.play_cancel
            # Terminate loop on exit input
            break
          end
        end
        # Terminate the device
        send_command('close VIDEO')
      end
      #--------------------------------------------------------------------------
      # Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :x
      attr_accessor :y
      attr_accessor :width
      attr_accessor :height
      attr_writer :exitable
      attr_writer :pausable
      attr_reader :filename
      #--------------------------------------------------------------------------
      # * Initialize
      #--------------------------------------------------------------------------
      def initialize(filename)
        unless FileTest.file?("#{SOV::Video::DIR_NAME}/#{filename}")
          raise(Errno::ENOENT,filename)
        end
        @filename = filename
        @x = @@default_x
        @y = @@default_y
        @width  = @@default_width
        @height = @@default_height
        @exitable = true
        @pausable = true
      end
      #--------------------------------------------------------------------------
      # * Get Type
      #--------------------------------------------------------------------------
      def type
        if @type == "Introavi"
          case File.extname(@filename)
          when '.avi'; @type = TYPE_AVI
          when '.mpeg'||'.mpg'; @type = TYPE_MPEG
          else
            @type = TYPE_MPEG#''
          end
        end
        @type
      end
      #--------------------------------------------------------------------------
      # * Is the video exitable?
      #--------------------------------------------------------------------------
      def exitable?
        @exitable
      end
      #--------------------------------------------------------------------------
      # * Is the video pausable?
      #--------------------------------------------------------------------------
      def pausable?
        @pausable
      end
      #--------------------------------------------------------------------------
      # Access
      #--------------------------------------------------------------------------
      private_class_method :send_command  
    end
     
    #==============================================================================
    # ** Game_Interpreter
    #==============================================================================
     
    class Game_Interpreter
      #--------------------------------------------------------------------------
      # Import
      #--------------------------------------------------------------------------
      include(SOV::Video::Commands)
    end
     
    #==============================================================================
    # ** Game_Map
    #==============================================================================
     
    class Game_Map
      #--------------------------------------------------------------------------
      # Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :video  
    end
     
    #==============================================================================
    # ** Scene_Map
    #==============================================================================
     
    class Scene_Map
      #--------------------------------------------------------------------------
      # Alias List
      #--------------------------------------------------------------------------
      alias sov_video_update update unless $@
      #--------------------------------------------------------------------------
      # * Play Video
      #--------------------------------------------------------------------------
      def play_video(video)
        # Memorize and stop current bgm and bgs
        bgm = RPG::BGM.last
        bgs = RPG::BGS.last
        RPG::BGM.stop
        RPG::BGS.stop
        # Play video
        Video.play(video)
        # Restart bgm and bgs
        bgm.play
        bgs.play
      end
      #--------------------------------------------------------------------------
      # * Update
      #--------------------------------------------------------------------------
      def update
        if $game_map.video != "Introavi"
          play_video($game_map.video)
          $game_map.video = "Introavi"
          Input.update
        else
          sov_video_update
        end
      end
    end
     
    #==============================================================================
    # ** Scene_Battle
    #==============================================================================
     
    class Scene_Battle
      #--------------------------------------------------------------------------
      # * Alias list
      #--------------------------------------------------------------------------
      alias sov_video_update_battle update unless $@
      alias sov_video_use_item use_item unless $@
      #--------------------------------------------------------------------------
      # * Play Video
      #--------------------------------------------------------------------------
      def play_video(video)
        # Memorize and stop current bgm
        bgm = RPG::BGM.last
        RPG::BGM.stop
        # Play video
        Video.play(video)
        # Restart bgm
        bgm.play
      end
      #--------------------------------------------------------------------------
      # * Execute Action Skill
      #--------------------------------------------------------------------------
      def use_item
        skill = @subject.current_action.item    
        if skill.video.is_a?(Video)
          execute_action_video(skill)
          sov_video_use_item
        else
          sov_video_use_item
        end
      end
      #--------------------------------------------------------------------------
      # * Execute Action Video
      #--------------------------------------------------------------------------
      def execute_action_video(skill)
        br = Graphics.brightness
        120.times { |i| Graphics.brightness = 255 - 255/60 * i; Graphics.update }
        # Play video
        play_video(skill.video)
        # Reset brightness
        Graphics.brightness = br
      end
      #ADDED UPDATE FUNCTION FROM SCENE_MAP TO SCENE_BATTLE
      def update
        if $game_map.video != "Introavi"
          play_video($game_map.video)
          $game_map.video = "Introavi"
          Input.update
        else
          sov_video_update_battle
        end
      end
     
    end
     
     
     
     
     
    #==============================================================================
    # Pre-Main Processing
    #==============================================================================
     
    unless FileTest.directory?(SOV::Video::DIR_NAME) # If directory doesn't exist.
      Dir.mkdir(SOV::Video::DIR_NAME)                # Make the directory
    end
     
    =begin
    =end 

     

     

  8. Sicuro che il formato del video sia leggibile? ^ ^ Hai provato su un nuovo progetto o sullo stesso che salta il title screen? Messo il nome senza estensione? ^ ^

    Per leggibile cosa intendi? Di funzionare il video funziona ma nn si mette ne in pausa ne si toglie.. nello script nn riesco ad individuare i pulsanti x farlo

  9. vorrei sfruttare la intro animata in stile jrpg come si rispetti :( e poi lo skip video potrebbe servirmi anche per togliere le animazioni di una battaglia o per altro, quindi mi potrebbe cmq servire in futuro solo ke da qll ke ho capito nell'intro è qll + difficile.. vediamo se si può fare.. se no al max utilizzo l'idea di zoro, ah! zoro hai visto quel script?

  10. Non ti conviene cercare un programma che trasforma gli avi in ogg invece che cercare uno script complesso che spesso non funziona? ^ ^

     

    ho trovato uno script che permette di interrompere o mettere in pausa qualsiasi video, ma c'è scritto che ha bisogno dei video .avi. Quindi volevo sapere se esistesse tale script, io al momento nn l'ho trovato.. invece lo script di cui ti parlo, si trova nel topic che ho aperto giorni fà

  11. come ne avevamo già parlato negli aiuti veloci ho deciso di aprire questo post non solo per me ma anche per chi interessava un bel video sull intro.. allora.. ricapitolando tutto.. avevamo trovato un script che aggiunge il video ma il video non si stoppava quindi se io mettevo 1 minuto di video.. ahimé.. i player dovevano aspettare 1 minuto ogni tal volta per vedere quel video.. quindi.. cerchiamo una soluzione migliore...

    Nel mio già famoso script ho visto ke nel logo iniziale basta cliccare qualsiasi tasto della tastiera e si toglie automaticamente! adesso vorrei sapere se fosse possibile mettere invece dell immagine jpg o png che sia un bel video!

     

    Questo qui è il mio Script:

     

     

    #==============================================================================
    # +++ MOG - Animated Title A (v2.3) +++
    #==============================================================================
    # By Moghunter
    # http://www.atelier-rgss.com/
    #==============================================================================
    # Tela de titulo animado, com logo, imagens aleatórias e outros efeitos visuais.
    #==============================================================================

    #==============================================================================
    # IMAGENS NECESSÁRIAS
    #==============================================================================
    # Serão necessários as seguintes imagens na pasta Graphics/Titles2/
    #
    # Cursor.png
    # Commmand_Name.png (image filename = name of command)
    # Particle.png (Opcional)
    # Logo.jpg (Opcional)
    # Animated.png (Opcional)
    #==============================================================================

    #==============================================================================
    # NOTA 1 - Para definir a imagem de texto basta selecionar no banco de dados
    # a imagem do titulo numero 2 (Segunda camada)
    #==============================================================================

    #==============================================================================
    # NOTA 2 - O nome da imagem de comando é iguál ao nome do comando definido
    # no banco de dados do Rpg Maker.
    #==============================================================================


    #==============================================================================
    # ● Histórico (Version History)
    #==============================================================================
    # v 2.3 - O nome do comando não é mais baseado no database.
    #==============================================================================

    module MOG_SCENE_TITLE_A

    #--------------------------------------------------------------------------
    # ▼ LOGO ▼
    #--------------------------------------------------------------------------
    # Apresenta um Logo ao começar a tela de titulo.
    # Será necessário ter a imagem LOGO.jpg (png) na pasta Graphics/Title2
    #--------------------------------------------------------------------------
    # Ativar Logo
    LOGO = true
    # Duração do logo.
    LOGO_DURATION = 2 #(Sec)

    #--------------------------------------------------------------------------
    # ▼ RANDOM BACKGROUND ▼
    #--------------------------------------------------------------------------
    #Definição das pictures.
    #--------------------------------------------------------------------------
    RANDOM_PICTURES = [
    "Title0", "Title1", "Title2", "Title3"
    #"Title4","Title5","Title6","Title7"
    ]
    #Tempo de duração para ativar a troca de imagens.
    RANDOM_PICTURES_DURATION = 10#(sec)
    #Seleção aleatória.
    RAMDOM_SELECTION = true
    #Velocidade de Scrolling. (Speed X , Speed Y)
    RANDOM_PICTURES_SCROLL_SPEED = [0,0]

    #--------------------------------------------------------------------------
    # ▼ MULTIPLE LAYERS ▼
    #--------------------------------------------------------------------------
    # Definição de multiplas camadas. * (não há limíte na quantidade de camadas
    # usadas)
    #--------------------------------------------------------------------------
    # MULTIPLE_LAYERS = [ ["A",B,C,D], ["A",B,C,D], ["A",B,C D], ["A",B,C,D ], ....]
    #
    # A - Nome da imagem.
    # B - Velocidade de scroll na horizontal.
    # C - Velocidade de scroll na vertical.
    # D - Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
    #
    MULTIPLE_LAYERS = [
    ["Layer1",1,0,1],
    ["Layer2",3,0,1],
    ["Layer3",0,0,0]
    # ["Layer4",0,0,0],
    # ["Layer5",0,0,0],
    # ["Layer6",0,0,0]
    ]

    #--------------------------------------------------------------------------
    # ▼ PARTICLES ▼
    #--------------------------------------------------------------------------
    # Adiciona partículas animadas na tela do titulo.
    # Será necessário ter a imagem PARTICLE.png na pasta Graphics/Title2
    #--------------------------------------------------------------------------
    # Ativar Partículas.
    PARTICLE = true
    # Ativar Cores Aleatórias.
    PARTICLE_RANDOM_COLOR = true
    # Definição do tipo de blend. (0,1,2)
    PARTICLE_BLEND_TYPE = 1
    #Definição do limite de velocidade das partículas.
    PARTICLE_MOVEMENT_RANGE_X = 3
    PARTICLE_MOVEMENT_RANGE_Y = 3
    PARTICLE_ANGLE_RANGE = 3

    #--------------------------------------------------------------------------
    # ▼ WAVE TITLE ▼
    #--------------------------------------------------------------------------
    # Ativa o efeito WAVE no texto do titulo, o Texto do titulo é definido
    # na camada do titulo 2, que pode ser definido através do banco de dados
    #--------------------------------------------------------------------------
    #Ativar o efeito do titulo com efeito WAVE.
    TITLE_WAVE = true
    #Configuração do efeito WAVE
    #
    # TITLE_WAVE_CONFIG = [ AMP, LENGTH , SPEED]
    #
    TITLE_WAVE_CONFIG = [6 , 232 , 360]

    #--------------------------------------------------------------------------
    # ▼ ANIMATED_SPRITE ▼ (Opcional)
    #--------------------------------------------------------------------------
    # Adiciona um sprite animado no titulo.
    # A quantidade de frames é proporcional a largura dividido pela altura
    # da imagem, ou seja, não há limite de quantidade de frames e nem de
    # tamanho da imagem.
    # Será necessário ter a imagem ANIMATED.png (Jpg) na pasta Graphics/Title2
    #--------------------------------------------------------------------------
    # Ativar Sprite animado.
    ANIMATED_SPRITE = true
    # Posição do Sprite animado.
    ANIMATED_SPRITE_POSITION = [130,150]
    # Velocidade da animação
    ANIMATED_SPRITE_SPEED = 10
    # Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
    ANIMATED_SPRITE_BLEND_TYPE = 1
    # Definição do zoom,
    ANIMATED_SPRITE_ZOOM = 1.5


    #--------------------------------------------------------------------------
    # ▼ COMMANDS / SELECTION ▼
    #--------------------------------------------------------------------------
    # Configuração extras da tela de titulo.
    #--------------------------------------------------------------------------
    # Posição do comando.
    COMMANDS_POS = [220 , 280]
    # Ativar o efeito de tremor ao selecionar o comando.
    COMMAND_SHAKE = true
    # Definição da posição do cursor.(Para ajustes)
    CURSOR_POS = [-42,-7]
    # Ativar flash ao mover o comando.
    CURSOR_FLASH_SELECTION = true
    # Definição da posição do flash.
    CURSOR_FLASH_SLECTION_POS = [-180,0]
    # Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
    CURSOR_FLASH_SLECTION_BLEND_TYPE = 1

    end

    #==============================================================================
    # ■ Window TitleCommand
    #==============================================================================
    class Window_TitleCommand < Window_Command
    attr_reader :list
    end

    #==============================================================================
    # ■ Particle Title
    #==============================================================================
    class Particle_Title < Sprite

    include MOG_SCENE_TITLE_A

    #--------------------------------------------------------------------------
    # ● Initialize
    #--------------------------------------------------------------------------
    def initialize(viewport = nil)
    super(viewport)
    self.bitmap = Cache.title2("Particle")
    self.tone.set(rand(255),rand(255), rand(255), 255) if PARTICLE_RANDOM_COLOR
    self.blend_type = PARTICLE_BLEND_TYPE
    @cw = self.bitmap.width
    @ch = self.bitmap.height
    @nx = PARTICLE_MOVEMENT_RANGE_X
    @ny = PARTICLE_MOVEMENT_RANGE_Y
    reset_setting
    end

    #--------------------------------------------------------------------------
    # ● Reset Setting
    #--------------------------------------------------------------------------
    def reset_setting
    zoom = (50 + rand(100)) / 100.1
    self.zoom_x = zoom
    self.zoom_y = zoom
    self.x = (rand(576) -32)
    self.y = rand(448 + @ch)
    self.opacity = 0
    self.angle = rand(360)
    nx2 = rand(@nx).abs
    nx2 = 1 if (@nx != 0 and nx2 < 1)
    @speed_x = @nx > 0 ? nx2 : @nx < 0 ? -nx2 : 0
    ny2 = rand(@ny).abs
    ny2 = 1 if (@ny != 0 and ny2 < 1)
    @speed_y = @ny > 0 ? ny2 : @ny < 0 ? -ny2 : 0
    @speed_a = [[rand(PARTICLE_ANGLE_RANGE), PARTICLE_ANGLE_RANGE].min, 0].max
    end

    #--------------------------------------------------------------------------
    # ● Dispose
    #--------------------------------------------------------------------------
    def dispose
    super
    self.bitmap.dispose
    end

    #--------------------------------------------------------------------------
    # ● Update
    #--------------------------------------------------------------------------
    def update
    super
    self.x += @speed_x
    self.y -= @speed_y
    self.angle += @speed_a
    self.opacity += 5
    reset_setting if can_reset_setting?
    end

    #--------------------------------------------------------------------------
    # ● Can Reset Setting
    #--------------------------------------------------------------------------
    def can_reset_setting?
    return true if (self.x < -48 or self.x > 592)
    return true if (self.y < -48 or self.y > 464)
    return false
    end
    end

    #==============================================================================
    # ■ Multiple Layers Title
    #==============================================================================
    class Multiple_Layers_Title

    #--------------------------------------------------------------------------
    # ● Initialize
    #--------------------------------------------------------------------------
    def initialize(name = "", scroll_x = 0, scroll_y = 0, blend = 0, index = 0)
    @layer = Plane.new
    @layer.bitmap = Cache.title1(name.to_s) rescue nil
    @layer.bitmap = Bitmap.new(32,32) if @layer.bitmap == nil
    @layer.z = 10 + index
    @layer.opacity = 0
    @layer.blend_type = blend
    @scroll_speed = [scroll_x, scroll_y]
    end

    #--------------------------------------------------------------------------
    # ● Dispose
    #--------------------------------------------------------------------------
    def dispose
    @layer.bitmap.dispose
    @layer.bitmap = nil
    @layer.dispose
    end

    #--------------------------------------------------------------------------
    # ● Update
    #--------------------------------------------------------------------------
    def update
    @layer.opacity += 2
    @layer.ox += @scroll_speed[0]
    @layer.oy += @scroll_speed[1]
    end

    end

    #==============================================================================
    # ■ Scene Title
    #==============================================================================
    class Scene_Title < Scene_Base
    include MOG_SCENE_TITLE_A

    #--------------------------------------------------------------------------
    # ● Start
    #--------------------------------------------------------------------------
    def start
    super
    RPG::BGM.fade(2000)
    @logo_active = LOGO
    SceneManager.clear
    @phase = 1
    @phase_time = -1
    dispose_title_sprites
    create_logo if @logo_active
    create_command_window
    create_commands
    create_background
    create_light
    create_cursor
    create_animated_object
    create_flash_select
    create_multiple_layers
    play_title_music unless @logo_active
    end

    #--------------------------------------------------------------------------
    # ● Create Multiple Layers
    #--------------------------------------------------------------------------
    def create_flash_select
    return if !CURSOR_FLASH_SELECTION
    @flash_select = Sprite.new
    @flash_select.bitmap = Cache.title2("Cursor2")
    @flash_select.z = 99
    @flash_select.opacity = 0
    @flash_select.blend_type = CURSOR_FLASH_SLECTION_BLEND_TYPE
    end

    #--------------------------------------------------------------------------
    # ● Create Multiple Layers
    #--------------------------------------------------------------------------
    def create_multiple_layers
    @m_layers = []
    index = 0
    for i in MULTIPLE_LAYERS
    @m_layers.push(Multiple_Layers_Title.new(i[0],i[1],i[2],i[3],index))
    index += 1
    end
    end

    #--------------------------------------------------------------------------
    # ● Create_Logo
    #--------------------------------------------------------------------------
    def create_animated_object
    return if !ANIMATED_SPRITE
    @object_index = 0
    @object_animation_speed = 0
    @object = Sprite.new
    @object.z = 98
    @object.opacity = 0
    @object.blend_type = ANIMATED_SPRITE_BLEND_TYPE
    @object.zoom_x = ANIMATED_SPRITE_ZOOM
    @object.zoom_y = ANIMATED_SPRITE_ZOOM
    @object_image = Cache.title2("Animated")
    @object_frame_max = @object_image.width / @object_image.height
    @object_width = @object_image.width / @object_frame_max
    @object.bitmap = Bitmap.new(@object_width,@object_image.height)
    @object.x = ANIMATED_SPRITE_POSITION[0]
    @object.y = ANIMATED_SPRITE_POSITION[1]
    make_object_bitmap
    end

    #--------------------------------------------------------------------------
    # ● Create_Logo
    #--------------------------------------------------------------------------
    def create_cursor
    @cursor = Sprite.new
    @cursor.bitmap = Cache.title2("Cursor")
    @cursor.opacity = 0
    @cursor.z = 130
    @cursor_position = [0,0]
    @mx = [0,0,0]
    end

    #--------------------------------------------------------------------------
    # ● Create_Logo
    #--------------------------------------------------------------------------
    def create_logo
    @phase = 0
    @logo = Sprite.new
    @logo.bitmap = Cache.title2("Logo")
    @logo.opacity = 0
    @logo_duration = 180 + (LOGO_DURATION * 60)
    @logo.z = 200
    end

    #--------------------------------------------------------------------------
    # ● Create Commands
    #--------------------------------------------------------------------------
    def create_commands
    @command_window.visible = false
    @commands_index_old = -1
    @commands = []
    @commands_shake_duration = 0
    index = 0
    for com in 0...3
    sprite = Sprite.new
    case index
    when 0; com_name = "New_Game"
    when 1; com_name = "Continue"
    when 2; com_name = "Shutdown"
    end
    sprite.bitmap = Cache.title2(com_name.to_s) rescue nil
    if sprite.bitmap == nil
    sprite.bitmap = Bitmap.new(200,32)
    sprite.bitmap.font.size = 24
    sprite.bitmap.font.bold = true
    sprite.bitmap.font.italic = true
    sprite.bitmap.draw_text(0, 0, 200, 32, com_name.to_s,1)
    end
    sprite.x = COMMANDS_POS[0] - 100 - (index * 20)
    sprite.y = index * sprite.bitmap.height + COMMANDS_POS[1]
    sprite.z = 100 + index
    sprite.opacity = 0
    index += 1
    @commands.push(sprite)
    end
    @command_max = index
    end

    #--------------------------------------------------------------------------
    # ● create_background
    #--------------------------------------------------------------------------
    def create_background
    @rand_title_duration = 120
    @old_back_index = 0
    @sprite1 = Plane.new
    @sprite1.opacity = 0
    @sprite1.z = 1
    if RAMDOM_SELECTION
    execute_random_picture(false)
    else
    execute_random_picture(true)
    end
    @sprite2 = Sprite.new
    @sprite2.bitmap = Cache.title2($data_system.title2_name)
    @sprite2.z = 140
    @sprite2.opacity = 0
    if TITLE_WAVE
    @sprite2.wave_amp = TITLE_WAVE_CONFIG[0]
    @sprite2.wave_length = TITLE_WAVE_CONFIG[1]
    @sprite2.wave_speed = TITLE_WAVE_CONFIG[2]
    end
    end

    #--------------------------------------------------------------------------
    # ● Create Light
    #--------------------------------------------------------------------------
    def create_light
    return unless PARTICLE
    @viewport_light = Viewport.new(-32, -32, 600, 480)
    @viewport_light.z = 50
    @light_bitmap =[]
    for i in 0...20
    @light_bitmap.push(Particle_Title.new(@viewport_light))
    end
    end

    #--------------------------------------------------------------------------
    # ● dispose Background1
    #--------------------------------------------------------------------------
    def dispose_background1
    @sprite1.bitmap.dispose
    @sprite1.bitmap = nil
    @sprite1.dispose
    @sprite1 = nil
    end

    #--------------------------------------------------------------------------
    # ● Dispose Background2
    #--------------------------------------------------------------------------
    def dispose_background2
    if @sprite2.bitmap != nil
    @sprite2.bitmap.dispose
    @sprite2.bitmap = nil
    @sprite2.dispose
    @sprite2 = nil
    end
    end

    #--------------------------------------------------------------------------
    # ● Dispose Light
    #--------------------------------------------------------------------------
    def dispose_light
    return unless PARTICLE
    if @light_bitmap != nil
    for i in @light_bitmap
    i.dispose
    end
    @light_bitmap = nil
    end
    @viewport_light.dispose
    end

    #--------------------------------------------------------------------------
    # ● Dispose Logo
    #--------------------------------------------------------------------------
    def dispose_logo
    return unless @logo_active
    @logo.bitmap.dispose
    @logo.dispose
    end

    #--------------------------------------------------------------------------
    # ● Dispose Multiple Layers
    #--------------------------------------------------------------------------
    def dispose_multiple_layers
    return if @m_layers == nil
    @m_layers.each {|layer| layer.dispose }
    end

    #--------------------------------------------------------------------------
    # ● Terminate
    #--------------------------------------------------------------------------
    def terminate
    super
    dispose_title_sprites
    end

    #--------------------------------------------------------------------------
    # ● Dispose Title Sprites
    #--------------------------------------------------------------------------
    def dispose_title_sprites
    return if @cursor == nil
    dispose_background1
    dispose_background2
    dispose_light
    dispose_logo
    dispose_multiple_layers
    @cursor.bitmap.dispose
    @cursor.dispose
    @cursor = nil
    if @flash_select != nil
    @flash_select.bitmap.dispose
    @flash_select.dispose
    end
    for com in @commands
    com.bitmap.dispose
    com.dispose
    end
    if ANIMATED_SPRITE
    @object.bitmap.dispose
    @object.dispose
    @object_image.dispose
    end
    end

    #--------------------------------------------------------------------------
    # ● Update
    #--------------------------------------------------------------------------
    def update
    super
    update_logo
    update_initial_animation
    update_command
    update_background
    update_light
    update_object_animation
    update_multiple_layers
    end

    #--------------------------------------------------------------------------
    # ● Update Multiple Layers
    #--------------------------------------------------------------------------
    def update_multiple_layers
    return if @m_layers == nil
    @m_layers.each {|layer| layer.update }
    end

    #--------------------------------------------------------------------------
    # ● Make Object bitmap
    #--------------------------------------------------------------------------
    def make_object_bitmap
    @object.bitmap.clear
    src_rect_back = Rect.new(@object_width * @object_index, 0,@object_width,@object_image.height)
    @object.bitmap.blt(0,0, @object_image, src_rect_back)
    end

    #--------------------------------------------------------------------------
    # ● Update Object Animation
    #--------------------------------------------------------------------------
    def update_object_animation
    return if !ANIMATED_SPRITE
    @object.opacity += 2
    @object_animation_speed += 1
    if @object_animation_speed > ANIMATED_SPRITE_SPEED
    @object_animation_speed = 0
    @object_index += 1
    @object_index = 0 if @object_index >= @object_frame_max
    make_object_bitmap
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Cursor Position
    #--------------------------------------------------------------------------
    def update_cursor_position
    @cursor.opacity += 5
    execute_animation_s
    execute_cursor_move(0,@cursor.x,@cursor_position[0] + @mx[1])
    execute_cursor_move(1,@cursor.y,@cursor_position[1])
    end

    #--------------------------------------------------------------------------
    # ● Execute Animation S
    #--------------------------------------------------------------------------
    def execute_animation_s
    @mx[2] += 1
    return if @mx[2] < 4
    @mx[2] = 0
    @mx[0] += 1
    case @mx[0]
    when 1..7; @mx[1] += 1
    when 8..14; @mx[1] -= 1
    else
    @mx[0] = 0
    @mx[1] = 0
    end
    end

    #--------------------------------------------------------------------------
    # ● Execute Cursor Move
    #--------------------------------------------------------------------------
    def execute_cursor_move(type,cp,np)
    sp = 5 + ((cp - np).abs / 5)
    if cp > np
    cp -= sp
    cp = np if cp < np
    elsif cp < np
    cp += sp
    cp = np if cp > np
    end
    @cursor.x = cp if type == 0
    @cursor.y = cp if type == 1
    end

    #--------------------------------------------------------------------------
    # ● Update Logo
    #--------------------------------------------------------------------------
    def update_logo
    return if @phase != 0
    loop do
    break if @logo_duration == 0
    execute_logo
    Graphics.update
    Input.update
    end
    play_title_music
    end

    #--------------------------------------------------------------------------
    # ● Execute Logo
    #--------------------------------------------------------------------------
    def execute_logo
    if @logo_duration > 120 and (Input.trigger?(:C) or Input.trigger?(:B))
    @logo_duration = 120
    end
    @logo_duration -= 1
    if @logo_duration > 120
    @logo.opacity += 5
    else
    @logo.opacity -= 5
    end
    if @logo.opacity <= 0
    @logo_duration = 0
    @phase = 1
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Background
    #--------------------------------------------------------------------------
    def update_background
    @sprite1.ox += RANDOM_PICTURES_SCROLL_SPEED[0]
    @sprite1.oy += RANDOM_PICTURES_SCROLL_SPEED[1]
    @sprite2.opacity += 2
    @sprite2.update
    return if RANDOM_PICTURES.size < 1
    @rand_title_duration -= 1
    if @rand_title_duration <= 0
    @sprite1.opacity -= 5 unless RANDOM_PICTURES.size < 2
    else
    @sprite1.opacity += 5
    end
    return if @sprite1.opacity != 0
    execute_random_picture
    end

    #--------------------------------------------------------------------------
    # ● Execute Random Picture
    #--------------------------------------------------------------------------
    def execute_random_picture(initial = false)
    @rand_title_duration = [[60 * RANDOM_PICTURES_DURATION, 9999].min, 60].max
    if @sprite1.bitmap != nil
    @sprite1.bitmap.dispose
    @sprite1.bitmap = nil
    end
    if RAMDOM_SELECTION
    rand_pic = rand(RANDOM_PICTURES.size)
    if rand_pic == @old_back_index
    rand_pic += 1
    rand_pic = 0 if rand_pic >= RANDOM_PICTURES.size
    end
    @old_back_index = rand_pic
    else
    @old_back_index += 1 unless initial
    @old_back_index = 0 if @old_back_index >= RANDOM_PICTURES.size
    end
    pic = RANDOM_PICTURES[@old_back_index]
    @sprite1.bitmap = Cache.title1(pic) rescue nil
    @sprite1.bitmap = Cache.title1("") if @sprite1.bitmap == nil
    end

    #--------------------------------------------------------------------------
    # ● Update Light
    #--------------------------------------------------------------------------
    def update_light
    return unless PARTICLE
    if @light_bitmap != nil
    for i in @light_bitmap
    i.update
    end
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Initial Animation
    #--------------------------------------------------------------------------
    def update_initial_animation
    return if @phase != 1
    @phase_time -= 1 if @phase_time > 0
    if @phase_time == 0
    @phase = 2
    @phase_time = 30
    end
    for i in @commands
    index = 0
    if i.x < COMMANDS_POS[0]
    i.x += 5 + (2 * index)
    i.opacity += 10
    if i.x >= COMMANDS_POS[0]
    i.x = COMMANDS_POS[0]
    i.opacity = 255
    if @phase_time < 15 / 2
    @phase_time = 15
    end
    end
    end
    index += 1
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Command
    #--------------------------------------------------------------------------
    def update_command
    return if @phase != 2
    update_command_slide
    update_cursor_position
    update_flash_select
    end

    #--------------------------------------------------------------------------
    # ● Update Command Slide
    #--------------------------------------------------------------------------
    def update_command_slide
    if @commands_index_old != @command_window.index
    @commands_index_old = @command_window.index
    @commands_shake_duration = 30
    if @flash_select != nil
    @flash_select.opacity = 255
    end
    end
    return if @commands_shake_duration == 0
    @commands_shake_duration -= 1 if @commands_shake_duration > 0
    @commands_shake_duration = 0 if !COMMAND_SHAKE
    for i in @commands
    if (i.z - 100) == @command_window.index
    i.opacity += 10
    @cursor_position = [COMMANDS_POS[0] + CURSOR_POS[0],i.y + CURSOR_POS[1]]
    i.x = COMMANDS_POS[0] + rand(@commands_shake_duration)
    else
    i.opacity -= 7 if i.opacity > 100
    i.x = COMMANDS_POS[0]
    end
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Flash Select
    #--------------------------------------------------------------------------
    def update_flash_select
    return if !CURSOR_FLASH_SELECTION
    @flash_select.opacity -= 8
    @flash_select.x = @cursor_position[0] + CURSOR_FLASH_SLECTION_POS[0]
    @flash_select.y = @cursor_position[1] + CURSOR_FLASH_SLECTION_POS[1]
    end

    end

    $mog_rgss3_animated_title_a = true

     

     

     

    se modificassimo lo script oppure aggiungiamo un nuovo script modificato che permette di mettere il video ma mettiamo un codice che permette di stoppare o togliere e andare avanti sarebbe figo..

    vi allego anche un ulteriore script dove permette di mettere l'intro video:

     

    #===============================================================================
    # Scene Intro 1.0 - 06/04/2012
    #-------------------------------------------------------------------------------
    # First of all, as anybody can see this script is heavily based on moghunter
    # Animated Title Screen.
    #-------------------------------------------------------------------------------
    # This scripts allows to add a slideshow or a movie as intro before the title
    # screen is shown.
    #-------------------------------------------------------------------------------
    # INSTRUCTIONS
    #
    # LOGO
    # Toggles Logo screen ON/OFF (true = on)
    #
    # LOGOTIME
    # Represents Logo duration in seconds.
    #
    # MODE
    # Sets 1 for slideshow, 2 for video (ogg/theora movie)
    #
    # PICTURES
    # Array of pictures showed in the slideshow. (put in Graphics/Intro/ folder)
    #
    # PICTIME
    # Each picture display duration.
    #
    # VIDEO
    # Video's filename. (put in Graphics/Intro/ folder)
    #
    # INTROMUSIC (played only in Slideshow Mode!)
    # Intro music filename (put in Graphics/Intro/ folder)
    #===============================================================================

    #-------------------------------------------------------------------------------
    # CONFIGURE
    #-------------------------------------------------------------------------------
    module INTRO

    LOGO = false
    LOGOTIME = 2 #seconds
    MODE = 2 #1=slideshow 2=video
    PICTURES = ["Intro0","Intro1","Intro2","Intro3"] #Graphics/Intro
    PICTIME = 3 #seconds
    VIDEO = "video" #Graphics/Intro
    INTROMUSIC = "Intro" #Audio/BGM/Intro

    end #module INTRO

    #-------------------------------------------------------------------------------
    # SCENE MANAGER
    #-------------------------------------------------------------------------------
    module SceneManager

    def self.first_scene_class
    $BTEST ? Scene_Battle : Scene_Intro
    end

    end #module SceneManager

    #-------------------------------------------------------------------------------
    # CACHE
    #-------------------------------------------------------------------------------
    module Cache

    def self.intro(filename)
    load_bitmap("Graphics/Intro/", filename)
    end

    end #module Cache

    #-------------------------------------------------------------------------------
    # SCENE INTRO
    #-------------------------------------------------------------------------------
    class Scene_Intro < Scene_Base
    include INTRO

    def start
    super
    SceneManager.clear
    @phase = 1
    @phase_time = -1
    if LOGO
    create_logo
    else
    start_intro
    end
    #play_intro_music unless LOGO
    end

    def start_intro
    if MODE == 1 #Play Slideshow
    create_sshow
    play_intro_music
    else #Play Movie
    Graphics.play_movie('Graphics/Intro/Intro.ogg')
    SceneManager.goto(Scene_Title)
    end

    end

    def create_logo
    @phase = 0
    @logo = Sprite.new
    @logo.bitmap = Cache.intro("Logo")
    @logo.opacity = 0
    @logo_duration = 180 + (LOGOTIME * 60)
    end

    def create_sshow
    @slide_duration = 120
    @old_pic_index = 0
    @sprite = Plane.new
    @sprite.opacity = 0
    change_picture(true)
    end

    def dispose_sshow
    @sprite.dispose
    @sprite = nil
    end

    def dispose_logo
    return unless LOGO
    @logo.bitmap.dispose
    @logo.dispose
    end

    def update
    super
    update_logo
    update_initial_animation
    update_sshow if MODE == 1
    end

    def update_logo
    return if @phase != 0
    loop do
    break if @logo_duration == 0
    execute_logo
    Graphics.update
    end
    start_intro
    end

    def update_initial_animation
    return if @phase != 1
    @phase_time -= 1 if @phase_time > 0
    if @phase_time == 0
    @phase = 2
    @phase_time = 30
    end
    end

    def update_sshow
    return if PICTURES.size == 1
    @slide_duration -= 1
    if @slide_duration <= 0
    @sprite.opacity -= 5
    else
    @sprite.opacity += 5
    end
    return if @sprite.opacity != 0
    change_picture
    end

    def execute_logo
    @logo_duration -= 1
    if @logo_duration > 120
    @logo.opacity += 5
    else
    @logo.opacity -= 5
    end
    if @logo.opacity <= 0
    @logo_duration = 0
    @phase = 1
    end
    end

    def change_picture(initial = false)
    @slide_duration = [[60 * PICTIME, 9999].min, 60].max
    if @sprite.bitmap != nil
    @sprite.bitmap.dispose
    @sprite.bitmap = nil
    end
    @old_pic_index += 1 unless initial
    if @old_pic_index >= PICTURES.size
    SceneManager.goto(Scene_Title)
    else
    pic = PICTURES[@old_pic_index]
    @sprite.bitmap = Cache.intro(pic)
    end
    end

    def play_intro_music
    Audio.bgm_play('Audio/BGM/' + INTROMUSIC)
    RPG::BGS.stop
    RPG::ME.stop
    end

    def terminate
    super
    SceneManager.snapshot_for_background
    dispose_sshow if MODE == 1
    dispose_logo if LOGO
    end

    end #class Scene_Intro < Scene_Base

     

     

     

     

    quindi la domanda che vi porgo è.. si potrebbe aggiungere uno script o modificare il medesimo script in modo che permetta di avviare il video iniziale ma che permetta anche di saltarlo con qualsiasi tasto? (o al max il tasto start) aspetto vostre risposte :)

  12. e come faccio a ridimensionare l'immagine con quella grandezza? ho provato con paint (non ho photoshop) ma mi sembra molto grande con quelle misure

     

    utilizza photoscape, utile e gratuito.. basta ke trascini l'immagine nel programma fai ridimensiona (togli il catenino) e puoi mettere la risoluzione ke vuoi.. anche 1x1024 senza problemi (se lo fai nn si vedrà un bip ovviamente XD) poi dopo aver ridimensionato basta dire dove salvarlo e in che formato-qualità e il gioco è fatto!

×
×
  • Create New...