Jump to content
Rpg²S Forum

*Scene_Fullscreen


Amos_MHF
 Share

Recommended Posts

Benvenuti, questo è il mio primo script.
Allora, iniziamo:

Descrizione
Questo script permettere di inserire una finestra che permette al giocatore di scegliere se applicare il fullscreen o mantenere la modalità finestra.
Anche se basta premere Alt+Invio, ci sono alcuni che non lo sanno.

Autore
Naturalmente io, Amos_MHF.
Se utilizzate lo script, mi farebbe piacere essere citato nei crediti.

Istruzioni per l'uso
Aprite lo script nello script editor e cambiate le parole evidenziate in viola:

Riga 19: Cambiate Sfondo con il nome dello sfondo (deve trovarsi in Graphics/Titles);
Se non volete lo sfondo lasciate solo i doppi apici.

Riga 22: Cambiate 064-Slow07 con il BGM che desiderate sia riprodotto nella scena.
Se non volete il BGM lasciate solo i doppi apici.

Riga 25: Cambiate 100 con il volume del BGM.

Riga 28: Cambiate 100 con il Pitch del BGM.

Se desiderate chiamare lo script all'inizio del gioco, andate nella classe Main e sostituite
$scene = Scene_Title.new con $scene = Scene_Fullscreen.new

Script
Inserite una nuova classe sopra Main ed inseritevi questo:

 

 

#==============================================================================
# ** Scene_Fullscreen
#==============================================================================
# Creata da Amos_MHF
#==============================================================================

class Scene_Fullscreen
    #--------------------------------------------------------------------------
    # * Processo Base
    #--------------------------------------------------------------------------
    def main
        
        
        #==============================================================================
        # Inizio Configurazione
        #==============================================================================
        # Nome dello sfondo che deve trovarsi in Graphics/Titles.
        # Se non lo vuoi lascia solo le virgolette.
        @sfondo = "Sfondo"
        #==============================================================================
        #Nome del BGM da riprodurre, se non vuoi la musica lascia solo le virgolette.
        @bgm_name = "064-Slow07"
        #==============================================================================
        #Volume del BGM
        @volume_bgm = 100
        #==============================================================================
        #Pitch del BGM
        @pitch_bgm = 100
        #==============================================================================
        # Fine Configurazione
        #==============================================================================
        
        
        
        # Se è un Battle Test
        if $BTEST
            battle_test
            return
        end
        # Carica database
        $data_actors = load_data("Data/Actors.rxdata")
        $data_classes = load_data("Data/Classes.rxdata")
        $data_skills = load_data("Data/Skills.rxdata")
        $data_items = load_data("Data/Items.rxdata")
        $data_weapons = load_data("Data/Weapons.rxdata")
        $data_armors = load_data("Data/Armors.rxdata")
        $data_enemies = load_data("Data/Enemies.rxdata")
        $data_troops = load_data("Data/Troops.rxdata")
        $data_states = load_data("Data/States.rxdata")
        $data_animations = load_data("Data/Animations.rxdata")
        $data_tilesets = load_data("Data/Tilesets.rxdata")
        $data_common_events = load_data("Data/CommonEvents.rxdata")
        $data_system = load_data("Data/System.rxdata")
        # Crea il System Object
        $game_system = Game_System.new
        
        # Crea la grafica del Titolo
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.title(@sfondo)
        
        # Crea la Finestra dei Comandi
        s1 = "Modalità Schermo Intero"
        s2 = "Modalità Finestra"
        @command_window = Window_Command.new(250, [s1, s2])
        @command_window.back_opacity = 100
        @command_window.x = 320 - @command_window.width / 2
        @command_window.y = 200
        
        #Riproduce BGM
        if @bgm_name != "" then Audio.bgm_play("Audio/BGM/"+@bgm_name, @volume_bgm, @pitch_bgm)
            
            # Esegui transizione
            Graphics.transition
            # Ciclo principale
            loop do
                # Aggiorna la schermata di gioco
                Graphics.update
                # Aggiorna le informazioni di input
                Input.update
                # Aggiorna il fotogramma
                update
                # Interrompe il ciclo se il fotogramma è cambiato
                if $scene != self
                    break
                end
            end
            # Prepara la transizione
            Graphics.freeze
            # Collocazione della finestra dei comandi
            @command_window.dispose
        end
    end
    #--------------------------------------------------------------------------
    # * Aggiornamento del fotogramma
    #--------------------------------------------------------------------------
    def update
        # Aggiorna la finestra dei comandi
        @command_window.update
        # Se il bottone C è premuto
        if Input.trigger?(Input::C)
            # Definisce il comando dalla posizione del cursore
            case @command_window.index
            when 0 # Modalità Schermo Intero
                command_fullscreen
            when 1 # Modalità Finestra
                command_notfullscreen
            end
        end
    end
    #--------------------------------------------------------------------------
    # * Comando: Modalità Schermo Intero
    #--------------------------------------------------------------------------
    def command_fullscreen
        # Riproduci il SE di Decisione
        $game_system.se_play($data_system.decision_se)
        # Passa in Fullscreen
        $win_event = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
        
        $win_event.call(18,1,0,0)
        
        $win_event.call(13,1,0,0)
        
        $win_event.call(18,1,2,0)
        
        $win_event.call(13,1,2,0)
        # Porta alla finestra del Titolo
        @sprite.bitmap.dispose
        $scene = Scene_Title.new
    end
    #--------------------------------------------------------------------------
    # * Comando: Modalità Finestra
    #--------------------------------------------------------------------------
    def command_notfullscreen
        # Riproduci il SE di conferma
        $game_system.se_play($data_system.decision_se)
        # Porta alla finestra del Titolo
        @sprite.bitmap.dispose
        $scene = Scene_Title.new
    end
end

 

 



Commenti
E' il mio primo script, accetto critiche e suggerimenti.

Partecipante al Rpg2s.net Game Contest 2008/2009
http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpg
Gioco in Sviluppo: Oromis' Tale

Premi Rpg2s.net Game Contest 2008/2009:
http://www.rpg2s.net/gif/GC_programmazione2.gif Miglior Programmazione XP: 2°
http://www.rpg2s.net/gif/GC_premio3.gif Longevità: 3°

Hiken... Tsubame Gaeshi!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...