Menu de Combat

7 Réponses • 168 Vues

Bonsoir !
Je sais que le système de combat va être refait sous le style des 3 premières gen mais perso je préfère le style depuis la 4g (ce qu'il y a actuellement sur psdk) et du coup j'ai suivi le tuto de Max094_Reikeb (en changeant les _get par des text_get car, ça cause un crash) et pour la flèche de sélection j'aimerais changer l'image.

Après quelques modifs', j'ai ça :


Et j'aimerais utiliser ce fichier pour la sélection de l'attaque uniquement :


Voici le script :
    def pos_selector(action_index)
      sprite = @select_sprite
      sprite.angle = 0
      sprite.ox = sprite.oy = 0
      sprite.mirror = false
      case action_index
      when 0 #> Attaquer
        sprite.x = 90
        sprite.y = 85
        sprite.mirror = true
      when 1 #> Pokémon
        sprite.x = 280
        sprite.y = 136
        sprite.ox = sprite.oy = 16
        sprite.angle = 90
      when 2 #> Sac
        sprite.x = 40
        sprite.y = 136
        sprite.ox = sprite.oy = 16
        sprite.angle = 90
      else
        sprite.x = 159
        sprite.y = 152
        sprite.ox = sprite.oy = 16
        sprite.angle = 90
      end
    end

Merci d'avance !
Un fan de la 3G est en train de faire un fangame avec le Pokémon SDK !

Script Demande d'aide PSDK

Je suis tenté de dire que la réponse paraît simple :),  il suffit juste de rajouter une ligne dans chaque case correspondant à l'image du sprite que tu veux ainsi dans case 0 tu peux avoir :
sprite = @second_sprite
sprite.visible = true
@select_sprite.visible = false #ça c'est histoire de ne pas voir l'autre sprite
en ayant préalablement défini @second_sprite dans initialize comme ceci :
@second_sprite = push(0, 0, "choice_select")
tu peux également supprimer le
sprite.mirror = true
car il servait à inverser la flèche, mais il devient inutile vu que tu as les deux flèches.
Enfin dans les autres case bah il s'agira juste de faire l'inverse :
sprite = @select_sprite
sprite.visible = true
@second_sprite.visible = false
Je précise que je n'ai pas pu tester le code ce matin, et que donc il n'a été fait qu'en théorie.
ok merci j'essayerai ce soir en rentrant des cours :)
Un fan de la 3G est en train de faire un fangame avec le Pokémon SDK !
alors, ça marche j'ai juste du rajouter cette ligne dans initialize (je précise que j'ai remplacé tous les @second_sprite par des @attack_sprite) :
@attack_sprite.z = z = 10006

et le prob' c'est que l'image apparaît au lancement du combat (gif ci-dessous) :


du coup, voici le code :
    def initialize
      super(nil)
      push(0, 0, "choice_4").z = 10005
      @select_sprite = push(0, 0, "choice_select")
      @attack_sprite = push(0, 0, "choice_select_attack")
      @select_sprite.z = z = 10006
      @attack_sprite.z = z = 10006
      push(190, 96, nil, type: UI::PokemonIconSprite).z = z
      #Attaquer
      add_text(120, 32, 64, 138, text_get(32,0), 1, 1, color: 9).z = z
      # Pokemon
      add_text(252, 158, 62, 18, text_get(32,2), 1, 1, color: 9).z = z
      # Sac
      add_text(10, 158, 62, 18, text_get(32,1), 1, 1, color: 9).z = z
      # Fuite
      add_text(111, 162, 102, 34, text_get(32,3), 1, 1, color: 9).z = z
      self.visible = false
      self.pos_selector(0)
    end

    def pos_selector(action_index)
      sprite = @select_sprite
      sprite.angle = 0
      sprite.ox = sprite.oy = 0
      sprite.mirror = false
      case action_index
      when 0 #> Attaquer
        sprite = @attack_sprite
        sprite.visible = true
        @select_sprite.visible = false
        sprite.x = 90
        sprite.y = 85
      when 1 #> Pokémon
        sprite = @select_sprite
        sprite.visible = true
        @attack_sprite.visible = false
        sprite.x = 280
        sprite.y = 136
        sprite.ox = sprite.oy = 16
        sprite.angle = 90
      when 2 #> Sac
        sprite = @select_sprite
        sprite.visible = true
        @attack_sprite.visible = false
        sprite.x = 40
        sprite.y = 136
        sprite.ox = sprite.oy = 16
        sprite.angle = 90
      else
        sprite = @select_sprite
        sprite.visible = true
        @attack_sprite.visible = false
        sprite.x = 159
        sprite.y = 152
        sprite.ox = sprite.oy = 16
        sprite.angle = 90
      end
    end
je précise que j'ai check avec un outil de recherche que je n'avais oublié aucun @second_sprite
Un fan de la 3G est en train de faire un fangame avec le Pokémon SDK !
Dans ce cas-là mets également dans l'initialize un
@attack_sprite.visible = false
ça devrait régler le souci.

« Modifié: 12 septembre 2019, 21:43:07 par yyyyj »

marche pas...
Un fan de la 3G est en train de faire un fangame avec le Pokémon SDK !

Amras Anárion

Scénariste

Ah, c'est génial : tu as des Pokémons animés en combat ! <3 C'est la première fois que je vois cela en vrai sur PSDK.
ça par contre c'est étrange  :mmh: là j'ai pas la solution alors. Désolé, je vais laisser la main à des gens plus compétents que moi.

There was an error while thanking
Thanking...