AccueilPortailCalendrierFAQRechercherMembresGroupesS'enregistrerConnexion

Partagez | 
 

 Jukebox

Aller en bas 
AuteurMessage
deadcell
Trouvère Follet
Trouvère Follet
avatar

Masculin
Nombre de messages : 625
Age : 30
Niveau Rpg Maker : Excellent Niveau
Jeux Préférés : Final Fantasy, Resident evil...
Date d'inscription : 21/03/2007

MessageSujet: Jukebox   Ven 13 Juil 2007, 09:28

Voilà un petit Script sympa que je vous propose là:

Auteur: Tonyryu

Fonction: Script pour écouter de la musique dans le jeu.

Screen:


Créez un nouveau script au dessus de "Main", nommé "Window_JBliste", et collez-y le code ci-dessous:

Code:
#==============================================================================
# ■ Window_JBliste
#------------------------------------------------------------------------------
# Script permettant d'afficher la liste des musiques du jukebox
# Créateur : Tonyryu
# Date : 12/10/2006
# Version : 1.00
#
# Attention : Ce script est ma propriété en tant que création et il est donc
# soumis au droit de la propriété intellectuelle ( http://www.irpi.ccip.fr/ ).
# En aucun cas, il ne doit être copié ou publié vers un autre forum sans en
# avoir reçu mon accord au préalable.
#
#==============================================================================
class Window_JBliste < Window_Selectable
 
  #--------------------------------------------------------------------------
  # ● initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 100, 640, 380)
   
    # Tableau contenant la liste des musique [ "nom", type, "fichier sans extension"]
    # type : 1 : BGM
    #        2 : BGS
    #        3 : ME
    #        4 : SE
    @tabMusiques = [[ "Introduction" , 1, "034-Heaven01"],
                    [ "Theme Alex", 1, "014-Theme03"],
                    [ "Combat 1", 1, "002-Battle02"],
                    [ "Bruit de l'eau", 2 , "010-River01"] ]

    # Spécifier la fenêtre de sélection
    @column_max = 2
    # Récupérer le nombre de musique
    @item_max = @tabMusiques.size
   
    # Initialiser la Zone Bitmap avec une taille adapté au nombre de musique
    self.contents = Bitmap.new(width - 32, row_max * 32)
    # Définir la police d'écriture par défaut
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.index = 0
   
    refresh
  end
 
  #--------------------------------------------------------------------------
  # ● refresh
  #--------------------------------------------------------------------------
  def refresh
    # Effacer la zone Bitmap
    self.contents.clear

    # Pour toutes les musiques
    for i in 0..@item_max - 1
      x = 4 + i % 2 * (288 + 32)
      y = i / 2 * 32
      # Afficher les musique en 2 colonnes
      self.contents.draw_text(x , y, 212, 32, @tabMusiques[i][0], 0)
    end
  end
 
  #--------------------------------------------------------------------------
  # ● refresh
  #--------------------------------------------------------------------------
  def fichierMusique
    return [@tabMusiques[index][1] , @tabMusiques[index][2]]
  end

end


#==============================================================================
# ■ Window_JBtitre
#------------------------------------------------------------------------------
# Script permettant d'afficher le titre jukebox
# Créateur : Tonyryu
# Date : 12/10/2006
# Version : 1.00
#==============================================================================
class Window_JBtitre < Window_Base
 
  #--------------------------------------------------------------------------
  # ● initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 100)
    # Initialiser la Zone Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    # Définir la police d'écriture
    self.contents.font.name = $fontface
    self.contents.font.size = 30
    self.contents.font.italic = true
   
    refresh
  end
 
  #--------------------------------------------------------------------------
  # ● refresh
  #--------------------------------------------------------------------------
  def refresh
    # Effacer la zone Bitmap
    self.contents.clear
    # Ecrire le titre
    self.contents.draw_text(0, 10, 608, 50, "Jukebox", 1)
  end

end

#==============================================================================
# ■ Scene_Jukebox
#------------------------------------------------------------------------------
# Script permettant de gérer le jukebox
# Créateur : Tonyryu
# Date : 12/10/2006
# Version : 1.00
#==============================================================================
class Scene_Jukebox
  def main
   
    # Prèparation des fenêtre
    @jbtitre_window = Window_JBtitre.new
    @jbliste_window = Window_JBliste.new

    # Boucle de transition, mise à jour graphique et entré clavier
    Graphics.transition
    # boucle
    loop do
      # Mise à jour graphique
      Graphics.update
      # Mise à jour des entrées clavier
      Input.update
      # Mise à jour de la class
      update

      # Si la scene n'existe plus, alors sortir de la boucle
      if $scene != self
        break
      end
    end
    # figer les graphiques
    Graphics.freeze
    # destruction des objets
    @jbtitre_window.dispose
    @jbliste_window.dispose
  end
 
  #--------------------------------------------------------------------------
  # ● update
  #--------------------------------------------------------------------------
  def update

    # Mettre à jour les fenêtres de groupe et de réserve
    @jbtitre_window.update
    @jbliste_window.update

    # si la touche B est appuyée
    if Input.trigger?(Input::B)
      # Alors, jouer le son "cancel"
      $game_system.se_play($data_system.cancel_se)
      # Revenir soit dans le menu (option 5, changeable), soit sur la map, soit sur le titre
      $scene = Scene_Menu.new(5)
      #$scene = Scene_Map.new
      #$scene = Scene_Title.new

      # Stoper tous les sons
      stopper_audio
     
      return
    end

    # si la touche C est appuyée
    if Input.trigger?(Input::C)
      # Stoper tous les sons
      stopper_audio
     
      # Récuperer le nom du fichier correspondant au choix effectué
      tabFichierMusique = @jbliste_window.fichierMusique
      type = tabFichierMusique[0]
      nomFichier = tabFichierMusique[1]
     
      case type
      when 1
        Audio.bgm_play("Audio/BGM/" + nomFichier,100,100)
      when 2
        Audio.bgs_play("Audio/BGS/" + nomFichier,100,100 )
      when 3
        Audio.me_play("Audio/ME/" + nomFichier,100,100)
      when 4
        Audio.se_play("Audio/SE/" + nomFichier,100,100)
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # ● stopper_audio
  #--------------------------------------------------------------------------
  def stopper_audio
    # Stoper tous les sons
    Audio.bgm_stop
    Audio.bgs_stop
    Audio.me_stop
    Audio.se_stop
  end

 
end

Pour appeler le script, créez un événement. Dans les commandes d'événement faites "Insérer un script", puis mettez :

$scene = Scene_Jukebox.new

Et c'est tout ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: Jukebox   Ven 13 Juil 2007, 09:40

Merci pour ce script, mais comment choisi-ton les choix de musiques dans le script?
Revenir en haut Aller en bas
deadcell
Trouvère Follet
Trouvère Follet
avatar

Masculin
Nombre de messages : 625
Age : 30
Niveau Rpg Maker : Excellent Niveau
Jeux Préférés : Final Fantasy, Resident evil...
Date d'inscription : 21/03/2007

MessageSujet: Re: Jukebox   Ven 13 Juil 2007, 09:56

Oups, j'ai oublié la précison:

Ligne 23 vous avez ça

Code:
# Tableau contenant la liste des musique [ "nom", type, "fichier sans extension"]
    # type : 1 : BGM
    #        2 : BGS
    #        3 : ME
    #        4 : SE
    @tabMusiques = [[ "Introduction" , 1, "034-Heaven01"],
                    [ "Theme Alex", 1, "014-Theme03"],
                    [ "Combat 1", 1, "002-Battle02"],
                    [ "Bruit de l'eau", 2 , "010-River01"] ]

C'est là qu'il faut mettre les musique. Le 1er, c'est le nom de la chanson qui apparaitra dans la fenêtre de votre jeu, et le 2eme, c'est le nom du fichier ! Voilà !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: Jukebox   Ven 13 Juil 2007, 10:18

Voila c'est mieux ^^'
Merci beaucoup en tout cas :p
Revenir en haut Aller en bas
Invité
Invité
avatar


MessageSujet: Re: Jukebox   Ven 13 Juil 2007, 11:36

Script très bien fait de Tonyryu, mais j'ai une question Deadcell, as-tu demandé l'autorisation à Tonyryu pour diffuser ce script ? Puisque je sais que beaucoup de ses scripts ont été retirés de plusieurs forums et sites car son autorisation de diffusion de ses scripts est difficile à avoir.
Revenir en haut Aller en bas
Fs snake
Acrobate
Acrobate
avatar

Masculin
Nombre de messages : 119
Age : 25
Projet(s) en cours : Final Fantasy : Crystal Age ;)
Niveau Rpg Maker : Script 2/10 // Graphisme 5/10 // Mapping 5/10 // Event 8/10
Jeux Préférés : Metal gear solid,Final Fantasy,etc...
Date d'inscription : 09/07/2007

MessageSujet: Re: Jukebox   Jeu 19 Juil 2007, 15:08

Une simple question (je pense) Est-il possible de rendre certaines musiques lisibles UNIQUEMENT a partir d'un moment précis (exemple : si on a entendu la musique une fois elle se débloque,etc..) ? Car si oui,expliquez moi comment svp.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://metalgearragemxp.forumotion.com/index.htm
Contenu sponsorisé




MessageSujet: Re: Jukebox   

Revenir en haut Aller en bas
 
Jukebox
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Déplacer ma jukebox
» Jukebox
» ? le jukebox

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Divers-
Sauter vers: