Pokémon Script Project Forum Index

Manuel | Search
 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

 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Tutoriels
Previous topic :: Next topic   

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

Author Message
Moy
Membre


Joined: 22 May 2010
Posts: 545
Masculin
ID Steam: moy_97

PostPosted: Sun 17 Apr - 12:09 (2011)    Post subject: [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


Last edited by Moy on Sun 1 Dec - 12:28 (2013); edited 5 times in total
Back to top
Skype
Publicité






PostPosted: Sun 17 Apr - 12:09 (2011)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Noty!
Guest





PostPosted: Tue 19 Apr - 19:00 (2011)    Post subject: [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é.
Back to top
Kenny2503
Guest





PostPosted: Tue 19 Apr - 21:00 (2011)    Post subject: [Tuto/Script] Comment personnaliser son menu sous PSP DS

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


Perso pour moi sa sert a rien sa sinon bravo!
Back to top
Dadou974
Membre


Joined: 09 Nov 2011
Posts: 30
Localisation: Île de la Réunion

PostPosted: Thu 12 Jul - 12:40 (2012)    Post subject: [Tuto/Script] Comment personnaliser son menu sous PSP DS

En le lisant plusieurs fois, je commence à comprendre Imbécile heureux
Merci
Back to top
Skype Facebook
Seusyn
Membre


Joined: 24 Jun 2012
Posts: 281

PostPosted: Thu 12 Jul - 12:44 (2012)    Post subject: [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 ^^"
Back to top
Eternalis
Membre


Joined: 25 Apr 2012
Posts: 81
Masculin

PostPosted: Thu 12 Jul - 17:37 (2012)    Post subject: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Ajouté a la liste des tutos.
Back to top
pipo27210
Membre


Joined: 28 May 2011
Posts: 32
Localisation: france

PostPosted: Wed 15 Aug - 20:21 (2012)    Post subject: [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 .


Last edited by pipo27210 on Wed 5 Sep - 12:31 (2012); edited 1 time in total
Back to top
erwin
Membre


Joined: 28 Jan 2012
Posts: 144
Chasseur solitaire
Localisation: Les iles célestes

PostPosted: Tue 4 Sep - 10:55 (2012)    Post subject: [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 !
Back to top
Facebook
Moy
Membre


Joined: 22 May 2010
Posts: 545
Masculin
ID Steam: moy_97

PostPosted: Fri 15 Mar - 10:22 (2013)    Post subject: [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.
Back to top
Skype
Redder
Team SDK


Joined: 22 Aug 2012
Posts: 70
Youtubeur
Localisation: NY(Nancy)
Non renseigné (Visible...)

PostPosted: Sun 17 Mar - 14:10 (2013)    Post subject: [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!
Back to top
Facebook Twitter
Moy
Membre


Joined: 22 May 2010
Posts: 545
Masculin
ID Steam: moy_97

PostPosted: Sun 24 Nov - 16:22 (2013)    Post subject: [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 ...
Back to top
Skype
Contenu Sponsorisé






PostPosted: Today at 23:06 (2019)    Post subject: [Tuto/Script] Comment personnaliser son menu sous PSP DS

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Tutoriels All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a 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)