Sujet n°9910
Posté par Miatshan le 23 Juin - 10:58 (2011)
Titre : Aide pour coder une interface
Bonjours, j'aimerais modifier l'interface sous PSP DS5G(ou PSP DS, vu que ça doit être à peu près la même chose).
Et j'aimerais créer cette interface sur cette image:

Qui sans pokédex/ball est cella là:

Et pour sélectionner, j'utilise une image de curseur:

Mais l'image de ce curseur change quand il est sur le sac:

Ce curseur n'a pas besoin de se "déplacer", c'est à dire on est sur le dex, on clique droite on est sur le sac, on clique bas on est sur la carte dresseur, enfin, quelqu'un pourrais m'expliquer comment modifier ça, merci :^^:

Posté par RevengeOfShadow le 23 Juin - 11:22 (2011)
C'est une idée plutôt originale, même si j'aime pas trop l'Artwork :/. Sinon je sais absolument pas scripter, je peux pas t'aider là-dessus, désolé :/.

Posté par Nuri Yuri le 23 Juin - 11:28 (2011)
Qu'est ce que tu entend par clique bas/droite ?

Posté par Miatshan le 23 Juin - 11:35 (2011)
bah, c'est un peu comme le menu sous HG/SS, t'es sur le dex, tu clique en bas, t'es sur la ball, t'appuis sur droit t'es sur le bouton de sauvegarde.

Posté par Nuri Yuri le 23 Juin - 11:45 (2011)
Tu parles donc des touches ? (parce que moi j'appuis, et les clics c'est droit ou gauche ...)

Posté par Miatshan le 23 Juin - 11:46 (2011)
oais, les touches sur le clavier.

Posté par Nuri Yuri le 23 Juin - 11:59 (2011)
Dans le script Pokémon Menu tu devrai avoir ça :
Code:
      if @command_window.index == 0
        @selecteur.x = 37
        @selecteur.y = 249     
      elsif @command_window.index == 2
        @selecteur.x = 37
        @selecteur.y = 289
      elsif @command_window.index == 4
        @selecteur.x = 37
        @selecteur.y = 329
      elsif @command_window.index == 6
        @selecteur.x = 37
        @selecteur.y = 369
      end
     
      if @command_window.index == 1
        @selecteur.x = 117
        @selecteur.y = 249
      elsif @command_window.index == 3
        @selecteur.x = 117
        @selecteur.y = 289
      elsif @command_window.index == 5
        @selecteur.x = 117
        @selecteur.y = 329     
      end     

Remplace le par
Code:
      if @command_window.index == 0
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokédex")
      elsif @command_window.index == 2
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokémon")
      elsif @command_window.index == 4
        @selecteur.bitmap=RPG::Cache.picture("Curseur Sac")
      elsif @command_window.index == 6
        @selecteur.bitmap=RPG::Cache.picture("Curseur Pokématos")
      end
     
      if @command_window.index == 1
        @selecteur.bitmap=RPG::Cache.picture("Curseur CDD")
      elsif @command_window.index == 3
        @selecteur.bitmap=RPG::Cache.picture("Curseur Save")
      elsif @command_window.index == 5
        @selecteur.bitmap=RPG::Cache.picture("Curseur option")
      end     


Pour l'image du fond tu remplace l'image verte par celle que tu as fait et les curseur tu les enregistre dans le dossier pictures avec le nom qu'il faut.

Posté par Miatshan le 23 Juin - 12:41 (2011)
Euh voilà ce que ça donne:

Le curseur reste sur la même image, et quand je déplace, bah ça se déplace comme ça:

En gros, l’écart reste le même.
Faudrait pas paramétrer x et y pour les images?

Posté par Nuri Yuri le 23 Juin - 13:00 (2011)
Met @selecteur.x=@selecteur.y=0 dans le code que je t'ai donné, et pour les text met un # avant les lignes qui affichent le texte.

Posté par Miatshan le 23 Juin - 13:14 (2011)
Ca ne change rien, la 1ère image montre la place où c'est la carte dresseur, la 2ème image montre l'emplacement de pokémon. L'emplacement ne se modifie pas.

Posté par Nuri Yuri le 23 Juin - 13:18 (2011)
Envois ton script, je vais regarder tout ça.

Posté par Miatshan le 23 Juin - 13:22 (2011)
Je parlais pour l'emplacement du curseur hein, pour les textes, je pense que c'est bon.
voilà le scipt(PSPDS) pokémon menu:
Spoiler
#==============================================================================
# ■ 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"
      s3 = "POKéMON"
      s5 = "SAC"
      s7 = ""
      s2 = Player.name
      s4 = "SAUVER"
      s6 = "OPTIONS"
      s8 = "QUITTER"
      
      @command_window = Window_Command.new(80, [s1, s2, s3, s4, s5, s6, s7], $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 = true
      
      @selecteur = Sprite.new
      @selecteur.z = 200
      if $color_menu == 1 or $color_menu == nil # Vert
        @string = "_rouge"      
      elsif $color_menu == 0 # Bleu
        @string = "_vert" 
      elsif $color_menu == 2 # Rouge
        @string = "_bleu" 
      end
      @selecteur.bitmap = RPG::Cache.picture("Menu Echap/selector_menu" + @string)                       
   
      if @command_window.index == 0  
        @selecteur.x=13
        @selecteur.y=228
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokédex")
      elsif @command_window.index == 2  
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokémon")  
        @selecteur.x=13
        @selecteur.y=228
      elsif @command_window.index == 4  
        @selecteur.bitmap=RPG::Cache.picture("Curseur Sac") 
        @selecteur.x=13
        @selecteur.y=228
      elsif @command_window.index == 6   
        @selecteur.bitmap=RPG::Cache.picture("Curseur Pokématos")
        @selecteur.x=13
        @selecteur.y=228
      end  
        
      if @command_window.index == 1  
        @selecteur.bitmap=RPG::Cache.picture("Curseur CDD")  
        @selecteur.x=13
        @selecteur.y=228
      elsif @command_window.index == 3  
        @selecteur.bitmap=RPG::Cache.picture("Curseur Save") 
        @selecteur.x=13
        @selecteur.y=228
      elsif @command_window.index == 5  
        @selecteur.bitmap=RPG::Cache.picture("Curseur option")
        @selecteur.x=13
        @selecteur.y=228
      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 @pkmn_team != nil     
    end    
    #--------------------------------------------------------------------------
    # 
    #--------------------------------------------------------------------------
    def update         
      
      if @command_window.index == 0
        @selecteur.x = 37
        @selecteur.y = 249     
      elsif @command_window.index == 2
        @selecteur.x = 37
        @selecteur.y = 289
      elsif @command_window.index == 4
        @selecteur.x = 37
        @selecteur.y = 329
      elsif @command_window.index == 6 
        @selecteur.x = 37
        @selecteur.y = 369
      elsif @command_window.index == 1
        @selecteur.x = 117
        @selecteur.y = 249
      elsif @command_window.index == 3
        @selecteur.x = 117
        @selecteur.y = 289
      elsif @command_window.index == 5
        @selecteur.x = 117
        @selecteur.y = 329      
      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 2 # 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 4 # Sac
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Item_Bag.new
        when 6 # Espace vide
          if $game_switches[9] == false
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          $game_system.se_play($data_system.decision_se)
          $scene = Pokematos.new      
        when 1 # Carte dresseur
          $game_system.se_play($data_system.decision_se)
          $game_temp.common_event_id = 19
          $scene = Scene_Map.new           
        when 3 # 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 # OPTIONS
          $game_system.se_play($data_system.decision_se) 
          $scene = OPTIONS.new           
        end
        return
      end
    end
  end
end


Posté par Nuri Yuri le 23 Juin - 13:45 (2011)
Y'avais une deuxième partie à remplacer ...
Tien :
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"
      s3 = "POKéMON"
      s5 = "SAC"
      s7 = ""
      s2 = Player.name
      s4 = "SAUVER"
      s6 = "OPTIONS"
      s8 = "QUITTER"
     
      @command_window = Window_Command.new(80, [s1, s2, s3, s4, s5, s6, s7], $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 = true
     
      @selecteur = Sprite.new
      @selecteur.z = 200
      if $color_menu == 1 or $color_menu == nil # Vert
        @string = "_rouge"     
      elsif $color_menu == 0 # Bleu
        @string = "_vert"
      elsif $color_menu == 2 # Rouge
        @string = "_bleu"
      end
      @selecteur.bitmap = RPG::Cache.picture("Menu Echap/selector_menu" + @string)                       
   
      if @command_window.index == 0 
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokédex")
      elsif @command_window.index == 2 
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokémon") 
      elsif @command_window.index == 4 
        @selecteur.bitmap=RPG::Cache.picture("Curseur Sac")
      elsif @command_window.index == 6   
        @selecteur.bitmap=RPG::Cache.picture("Curseur Pokématos")
      end 
       
      if @command_window.index == 1 
        @selecteur.bitmap=RPG::Cache.picture("Curseur CDD") 
      elsif @command_window.index == 3 
        @selecteur.bitmap=RPG::Cache.picture("Curseur Save")
      elsif @command_window.index == 5 
        @selecteur.bitmap=RPG::Cache.picture("Curseur option")
      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 @pkmn_team != nil     
    end   
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def update         
     
      if @command_window.index == 0 
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokédex")
      elsif @command_window.index == 2 
        @selecteur.bitmap=RPG::Cache.picture("Curseur pokémon") 
      elsif @command_window.index == 4 
        @selecteur.bitmap=RPG::Cache.picture("Curseur Sac")
      elsif @command_window.index == 6   
        @selecteur.bitmap=RPG::Cache.picture("Curseur Pokématos")
      elsif @command_window.index == 1 
        @selecteur.bitmap=RPG::Cache.picture("Curseur CDD") 
      elsif @command_window.index == 3 
        @selecteur.bitmap=RPG::Cache.picture("Curseur Save")
      elsif @command_window.index == 5 
        @selecteur.bitmap=RPG::Cache.picture("Curseur option")
      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 2 # 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 4 # Sac
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Item_Bag.new
        when 6 # Espace vide
          if $game_switches[9] == false
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          $game_system.se_play($data_system.decision_se)
          $scene = Pokematos.new     
        when 1 # Carte dresseur
          $game_system.se_play($data_system.decision_se)
          $game_temp.common_event_id = 19
          $scene = Scene_Map.new           
        when 3 # 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 # OPTIONS
          $game_system.se_play($data_system.decision_se)
          $scene = OPTIONS.new           
        end
        return
      end
    end
  end
end

Posté par Miatshan le 23 Juin - 14:07 (2011)
Merci ^^
Y a pas un moyen de modifier l'ordre des selections ?
Mais ça marche du tonnerre ton truc :D

Posté par RevengeOfShadow le 23 Juin - 21:06 (2011)
Je suis pas un expert mais je pense que modifier les chiffres après les When dans l'ordre que tu veux devrait t'aider ^^.