Pokémon Script Project Index du Forum

Manuel | Rechercher
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

[Tuto/Script] Comment personnaliser son menu sous PSP DS

 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Tutoriels
Sujet précédent :: Sujet suivant   

Mon tuto est (Modifier vos votes)
Parfait
31%
 31%  [ 9 ]
Bien
34%
 34%  [ 10 ]
Pas mal
20%
 20%  [ 6 ]
Nul
13%
 13%  [ 4 ]
Total des votes : 29

Auteur Message
Moy
Membre


Inscrit le: 22 Mai 2010
Messages: 545
Masculin
ID Steam: moy_97

MessagePosté le: Dim 17 Avr - 12:09 (2011)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Comme certains veulent faire un nouveau menu pour leur jeu sous PSPDS mais ne savent pas scripter je vous propose un Tuto là dessus.
Le tutoriel sera composé de 2 grandes parties :
  • Interface de jeu
  • Interface de menu

Qui comporteront chacune 3 parties :
  • Le script de base
  • Les explications concernant le script de base et le début de la personnalisation
  • Personnalisation avec des nouveaux codes

Interface de jeu :
Script de base :
Tout d'abord il faut que vous alliez dans l'éditeur des scripts et dans le script : Interface_Echap* (ce script sert à avoir votre interface visible en jeu)
Logiquement vous avez ceci :

 
Code:
 #==============================================================================
 # ■ Pokemon_Menu
 # Pokemon Script Project DS - Palbolsky 
 # 22/02/10
 #-----------------------------------------------------------------------------
 # Scène modifiable
 #-----------------------------------------------------------------------------
 # Interface graphique du menu principal accessible par échap
 #-----------------------------------------------------------------------------
 class Interface_Echap < Window_Base   
   include POKEMON_S  
   
   def initialize  
     super(0, 0, 640, 480)
     self.contents = Bitmap.new(width - 32, height - 32)   
     self.contents.font.name = $fontface    
     self.contents.font.size = $fontsize    
     self.opacity = 0     
     self.z = 21   
     @interface = Sprite.new         
     @interface.x = 13
     @interface.y = 227
     @interface.z = 20    
     text_interface
     apparence       
     refresh
   end     
   
   
     
   def dispose
     super 
     @interface.dispose
   end
   
   def apparence    
     if $color_menu == 1 or $color_menu == nil # Vert
       @string = "_vert"      
     elsif $color_menu == 0 # Bleu
       @string = "_bleu" 
     elsif $color_menu == 2 # Rouge
       @string = "_rouge"     
     end   
   end  
   def refresh     
     if $pokemon_party.size > 0
       @interface.bitmap = RPG::Cache.picture("Menu Echap/menu echap2" + @string)
     else
       @interface.bitmap = RPG::Cache.picture("Menu Echap/menu echap1" + @string)
     end    
     if $data_pokedex[0] == true
       @interface.bitmap = RPG::Cache.picture("Menu Echap/menu echap3" + @string)   
     end 
     if $game_switches[9] == true     
       @interface.bitmap = RPG::Cache.picture("Menu Echap/menu echap" + @string)   
     end  
   end    
   
   def text_interface    
     draw_text_interface(16, 253, 50, 25, "POKéDEX", 1)
     draw_text_interface(16, 293, 50, 25, "POKéMON", 1)
     draw_text_interface(16, 333, 50, 25, "SAC", 1) 
     draw_text_interface(1, 373, 80, 25, "POKéMATOS", 1)
     draw_text_interface(86, 253, 70, 25, Player.name, 1)
     draw_text_interface(96, 293, 50, 25, "SAUVER", 1)
     draw_text_interface(96, 333, 50, 25, "OPTIONS", 1)    
   end    
end


Explications :
 

Code:
def text_interface
draw_text_interface(x, y, 50, 25, "texte à écrire", 1)
end


Cette portion de code sert à écrire quelque chose sur l'interface.
« x » et « y » sont à remplacer par un nombre, ils gèrent l'emplacement du texte,« x » est l'abscisse et « y » est l'ordonnée
texte à écrireest à replacer par le texte qu'il faut écrire.
Notes :
Vous pouvez aligner plusieurs draw_text à la suite comme ceci :
 
Code:
def text_interface        
draw_text_interface(x, y, 50, 25, "texte à écrire", 1)
draw_text_interface(x, y, 50, 25, "texte à écrire", 1)
draw_text_interface(x, y, 50, 25, "texte à écrire", 1)
end



Code:
  def apparence
  if $color_menu == 1 or $color_menu == nil
  @string = "_couleur"
  elsif $color_menu == 0 
  @string = "_couleur2"
  end
end



Cette portion de code sert à changer la couleur du menu.
couleur1 est à changer par le nom de la première couleur.
couleur2 est à changer par le nom de la deuxième couleur.
/!\: il faut avoir fait plusieurs couleurs pour le menu et avoir renommé les images comme ceci :
nom du menu_couleur
Notes :
Vous pouvez ajouter ceci :

Code:
elsif $color_menu == 2/3/4/5 ... 
@string = "_couleur3/4/5/6 ..."



Comme cela :
 

Code:
def apparence
if $color_menu == 1 or $color_menu == nil
@string = "_couleur"
elsif $color_menu == 0
@string = "_couleur2" 
elsif $color_menu == 2/3/4/5 ...
@string = "_couleur3/4/5/6 ..."
end
end

Autant de fois que vous avez fait de couleur pour le menu.

Maintenant que tout ça est dit on peut passer à la partit personnalisation.

Personnalisation :


Code:
@gold_window = Window_Gold.new
@gold_window.x = x
@gold_window.y = y
@gold_window.z = 210
@gold_window.opacity = ?


Ce bout de code est à rajouter après @interface.z = 20.
Il sert à afficher l'argent du joueur.
Vous savez par quoi il faut changer « x » et « y » mais pas le « ? ».
Il faut le remplacer par un chiffre qui déterminera l'opacité (= transparence).
 

Code:
@playtime_window = Window_PlayTime.new
@playtime_window.x = x
@playtime_window.y = y
@playtime_window.z = 210
@playtime_window.opacity = 0



Ce bout de code est à rajouter après @interface.z = 20.
Il sert à afficher le temps que le joueur à passer à jouer.
Vous savez par quoi il faut changer « x », « y » et « ? ».

Interface de menu :
Script de base :
Tout d'abord il faut que vous alliez dans l'éditeur des scripts et dans le script : Interface_Menu* (ce script sert à avoir votre interface visible en jeu)
Logiquement vous avez ceci :

 
Code:
 #==============================================================================
# ■ Pokemon_Menu
# Pokemon Script Project - Krosk
# 18/07/07
# 22/02/10 - Palbolsky
#-----------------------------------------------------------------------------
# Scène modifiable
#-----------------------------------------------------------------------------
# Menu principal accessible par échap
#-----------------------------------------------------------------------------

module POKEMON_S
  class Pokemon_Menu < Window_Base
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def initialize(menu_index = 0)
      @menu_index = menu_index
      super(0,0,640,480)
      self.contents = Bitmap.new(width - 32, height - 32)     
      self.opacity = 0     
      self.z = 11     
    end     
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def main
      @spriteset = Spriteset_Map.new
      @interface = Interface_Echap.new
     
      if POKEMON_S::VIEWER_TEAM
        @pkmn_team = Pokemon_Equipe.new
      end
     
      s1 = "POKéDEX"
      s2 = "POKéMON"
      s3 = "SAC"
      s4 = "DRESSEUR"
      s5 = "SAUVER"
      s6 = "RETOUR"
     
      @command_window = Window_Command.new(80, [s1, s2, s3, s4, s5, s6], $fontsizebig, 2, 14)
      @command_window.index = @menu_index
      @command_window.x = 480 - 169 - 123 + 200
      @command_window.y = 28 - 20
      @command_window.z = 10000
      @command_window.visible = false
     
      @selecteur = Sprite.new
      @selecteur.z = 200
      @selecteur.bitmap = RPG::Cache.picture("Select_menu")
     
      if @command_window.index == 0
        @selecteur.x = 24
        @selecteur.y = 271 
      elsif @command_window.index == 1
        @selecteur.x = 24
        @selecteur.y = 313
      elsif @command_window.index == 2
        @selecteur.x = 24
        @selecteur.y = 355
      elsif @command_window.index == 3
        @selecteur.x = 112
        @selecteur.y = 271
      elsif @command_window.index == 4
        @selecteur.x = 112
        @selecteur.y = 313
      elsif @command_window.index == 5
        @selecteur.x = 112
        @selecteur.y = 355
      end
           
      if $pokemon_party.size == 0
        # Enlève accès Equipe
        @command_window.disable_item(2)
      end
      if not($data_pokedex[0])
        # Enlève accès Pokédex si non possédé
        @command_window.disable_item(0)
      end
      if $game_system.save_disabled
        @command_window.disable_item(5)
      end         
     
      @command_window.disable_item(5)     
         
      Graphics.transition
      loop do             
        Graphics.update
        Input.update
        update
        if $scene != self
          break
        end
      end   
      Graphics.freeze       
      @command_window.dispose
      @spriteset.dispose
      @selecteur.dispose       
      @interface.dispose             
      @pkmn_team.dispose if not @pkmn_team.nil?
      Graphics.freeze
    end   
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def update
      if @command_window.index == 0
        @selecteur.x = 24
        @selecteur.y = 271   
      elsif @command_window.index == 1
        @selecteur.x = 24
        @selecteur.y = 313
      elsif @command_window.index == 2
        @selecteur.x = 24
        @selecteur.y = 355
      elsif @command_window.index == 3
        @selecteur.x = 112
        @selecteur.y = 271
      elsif @command_window.index == 4
        @selecteur.x = 112
        @selecteur.y = 313
      elsif @command_window.index == 5
        @selecteur.x = 112
        @selecteur.y = 355
      end           
     
      # ウィンドウを更新     
      @command_window.update
      @spriteset.update
      @selecteur.update
      @interface.update     
      # コマンドウィンドウがアクティブの場合: update_command を呼ぶ
      if @command_window.active
        update_command
        return
      end
    end
   
    def dispose
      super
    end
     
    #--------------------------------------------------------------------------
    # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
    #--------------------------------------------------------------------------
    def update_command           
      # B ボタンが押された場合
      if Input.trigger?(Input::B)
        # キャンセル SE を演奏
        $game_system.se_play($data_system.cancel_se)
        # マップ画面に切り替え       
        $scene = Scene_Map.new
        self.contents.clear
        return       
      end
      # C ボタンが押された場合
      if Input.trigger?(Input::C)         
        # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合
        if $game_party.actors.size == 0 and @command_window.index < 4
          # ブザー SE を演奏
          $game_system.se_play($data_system.buzzer_se)
          return         
        end
        # コマンドウィンドウのカーソル位置で分岐
        case @command_window.index         
        when 0 # Pokédex         
          if not($data_pokedex[0])
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Pokedex.new
          self.contents.clear
        when 1 # Menu
          if $pokemon_party.size == 0
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Party_Menu.new
        when 2 # Sac
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Item_Bag.new     
        when 3 # Carte dresseur
          $game_system.se_play($data_system.decision_se)
          $game_temp.common_event_id = 19
          $scene = Scene_Map.new           
        when 4 # Sauvegarde
          if $game_system.save_disabled
            $game_system.se_play($data_system.buzzer_se)
            return           
          end
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Save.new
          self.contents.clear
        when 5 # Retour
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Map.new
        end
        return
      end
    end
  end
end



Explications :




Si ce n'est pas claire ou comporte un bug dites le moi Imbécile heureux
Et si vous voulez ajouter quelque chose n'ayant pas était mise dites le moi et je le rajouterai.Clin d'œil foireux
Prochain tuto : Comment changer son interface de combat
Tuto similaire pour PSP 0.7 et 4G+ : http://pokemonscriptproject.xooit.fr/t3868-Tuto-Interface.html
Merci d'avoir lu. Imbécile heureux


Dernière édition par Moy le Dim 1 Déc - 12:28 (2013); édité 5 fois
Revenir en haut
Skype
Publicité






MessagePosté le: Dim 17 Avr - 12:09 (2011)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Noty!
Invité





MessagePosté le: Mar 19 Avr - 19:00 (2011)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Superbe Tuto, même si parfois on à un bon scripteur à disposition 42 ...
Non vraiment, c'est bien expliqué.
Revenir en haut
Kenny2503
Invité





MessagePosté le: Mar 19 Avr - 21:00 (2011)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Je trouve sa jolie grâce a toi sauf que
Citation:
Vous pouvez aligner plusieurs draw_text à la suite comme ceci :


Perso pour moi sa sert a rien sa sinon bravo!
Revenir en haut
Dadou974
Membre


Inscrit le: 09 Nov 2011
Messages: 30
Localisation: Île de la Réunion

MessagePosté le: Jeu 12 Juil - 12:40 (2012)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

En le lisant plusieurs fois, je commence à comprendre Imbécile heureux
Merci
Revenir en haut
Skype Facebook
Seusyn
Membre


Inscrit le: 24 Juin 2012
Messages: 281

MessagePosté le: Jeu 12 Juil - 12:44 (2012)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

D'accord ce tuto est vieux mais faudrait peut être que quelqu'un se charge de la deuxième partie ^^"
Revenir en haut
Eternalis
Membre


Inscrit le: 25 Avr 2012
Messages: 81
Masculin

MessagePosté le: Jeu 12 Juil - 17:37 (2012)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Ajouté a la liste des tutos.
Revenir en haut
pipo27210
Membre


Inscrit le: 28 Mai 2011
Messages: 32
Localisation: france

MessagePosté le: Mer 15 Aoû - 20:21 (2012)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Merci pour ce tuto qui va beaucoup m'aider .
Mais un Screen pour montré a quoi sa ressemble ne serait pas de refus !
Pense-y .


Dernière édition par pipo27210 le Mer 5 Sep - 12:31 (2012); édité 1 fois
Revenir en haut
erwin
Membre


Inscrit le: 28 Jan 2012
Messages: 144
Chasseur solitaire
Localisation: Les iles célestes

MessagePosté le: Mar 4 Sep - 10:55 (2012)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Il est super ce tuto, vivement la 2 eme partie car je doit scripter mon menu mais je suis nul en scripts !
Revenir en haut
Facebook
Moy
Membre


Inscrit le: 22 Mai 2010
Messages: 545
Masculin
ID Steam: moy_97

MessagePosté le: Ven 15 Mar - 10:22 (2013)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Je viens de retrouver cet ancien tuto ^^, si vous voulez que je continu la seconde partie dite le ici et je la ferais peut-être.
Revenir en haut
Skype
Redder
Team SDK


Inscrit le: 22 Aoû 2012
Messages: 70
Youtubeur
Localisation: NY(Nancy)
Non renseigné (Visible...)

MessagePosté le: Dim 17 Mar - 14:10 (2013)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Très bon tuto!C'est vrai qu'il est très bien expliqué, et pour les personnes pour qui le script et lui ça fait 2 c'est utile!Et oui fait la 2eme partie s'il te plaît!
Revenir en haut
Facebook Twitter
Moy
Membre


Inscrit le: 22 Mai 2010
Messages: 545
Masculin
ID Steam: moy_97

MessagePosté le: Dim 24 Nov - 16:22 (2013)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Je sais que j'ai déjà dit ça il y a quelque mois mais je pense faire la suite ...
Revenir en haut
Skype
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 04:45 (2018)    Sujet du message: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Tutoriels Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)
Traduction par : phpBB-fr.com