AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
Xiaomi Mi Smart Camera 2K Standard Edition (design compact / support ...
11.39 €
Voir le deal

Partagez
 

 Problème RGSS, method update

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 30
Inscrit le : 27/04/2008
Messages : 1835

Problème RGSS, method update Empty
MessageSujet: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 2:10

Bonjour,
Je sais pas vraiment si ça vient de la méthode en fait, parce que les touches fonctionnent tout de même, bon, je vous passe d'abord mon code Wink

Code:
class Scene_Tests < Scene_Base
  def start
    @fenetre = Ma_fen.new
  end
  def terminate
    @fenetre.dispose
  end
  def update
    @fenetre.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      $game_actors[1].hp -= 10
    end
  end
end
class Ma_fen < Window_Base
  def initialize
    super(0, 0, 544, 416)
    self.contents.fill_rect(new_rect, new_color)
  end
  def new_color
    color = Color.new(255,0,0,255)
  end
  def new_rect
    w = $game_actors[1].hp*100/$game_actors[1].maxhp
    h = 25
    x = 50
    y = 50
    return Rect.new(x,y,w,h)
  end
end

Bon, c'est un petit code simple pour m'entraîner ^^'

Donc voilà, quand j'ouvre la fenêtre, la barre s'affiche correctement, en fonction de la vie du héros, la touche B fait quitter la scène, la touche C lui enlève des PVs, mais la fenêtre ne s'update pas Surprised du coup, pour voir que l'image a bien changé, je suis obligé de fermer la fenêtre et de la réouvrir Oo

Je ne comprends pas j'ai pourtant bien mis @fenetre.update dans def update Oo

Merci d'avance de vos réponses ^^
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 10:56

L'update ne rafraichis pas ta barre, il faut que tu fasse appel ici à la méthode qui dessine la barre pour la réactualiser.
Rajoute dans ta methode :
Code:
  def update
    @fenetre.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      $game_actors[1].hp -= 10
      @fenetre.new_color
      @fenetre.new_rect
    end
  end
end

ca devrait marcher =)

En version plus propore :

Code:

class Scene_Tests < Scene_Base
  def start
    @fenetre = Ma_fen.new
  end

  def terminate
    @fenetre.dispose
  end

  def update
    @fenetre.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      $game_actors[1].hp -= 10
      @fenetre.refresh
    end
  end
end

class Ma_fen < Window_Base
  def initialize
    super(0, 0, 544, 416)
    self.contents.fill_rect(new_rect, new_color)
  end

  def new_color
    color = Color.new(255,0,0,255)
  end

  def new_rect
    w = $game_actors[1].hp*100/$game_actors[1].maxhp
    h = 25
    x = 50
    y = 50
    return Rect.new(x,y,w,h)
  end

  def refresh
    new_color
    new_rect
  end
end
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 30
Inscrit le : 27/04/2008
Messages : 1835

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 11:13

Est-il vraiment nécessaire de rappeler new_color étant donné que la barre doit rester rouge?

Edit: Remarque, ça ne change pas, la barre reste comme elle est...

Donc je me suis dit que c'était peut-être parce que vu qu'on enlevait des PVs, le rectangle créé était plus petit que celui d'avant, et il se crée peut-être dessus sans qu'on le voit (plus petit, même hauteur, même position, donc bon...), alors j'ai changé pour voir si en sens inverse ça marchait (en soignant), mais rien de plus convainquant, la barre reste toujours la même =/


Dernière édition par Gothor le Lun 31 Aoû 2009 - 11:18, édité 1 fois
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 11:17

Ah non t'es pas obligé, c'est si tu veux qu'elle change de couleur qu'il faut appeler cette méthode !
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 30
Inscrit le : 27/04/2008
Messages : 1835

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 11:18

Hem, j'ai édité mon dernier message ^^'
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 11:45

Ah ouais je vois pourquoi ^^'
J'ai mal lu ton code !
Code:
class Scene_Tests < Scene_Base
  def start
    @fenetre = Ma_fen.new
  end

  def terminate
    @fenetre.dispose
  end

  def update
    @fenetre.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      $game_actors[1].hp -= 10
      @fenetre.refresh
    end
  end
end

class Ma_fen < Window_Base
  def initialize
    super(0, 0, 544, 416)
    self.contents.fill_rect(new_rect, new_color)
  end

  def new_color
    color = Color.new(255,0,0,255)
  end

  def new_rect
    w = $game_actors[1].hp*100/$game_actors[1].maxhp
    h = 25
    x = 50
    y = 50
    return Rect.new(x,y,w,h)
  end

  def refresh
    self.contents.fill_rect(new_rect, new_color)
  end
end

J'ai cru que new_rect créait la barre, mais je me suis trompée ^^' essaye ca !
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 30
Inscrit le : 27/04/2008
Messages : 1835

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 11:57

bon, plus qu'à rajouter un petit self.contents.clear avant le fill_rect de def refresh (oui, parce que sinon, on voit pas quand la vie diminue ^^')

Merci beaucoup Blockade Smile
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitimeLun 31 Aoû 2009 - 12:12

Arf oui j'ai oubliée ca aussi --' j'ai pas trop scripté de barres c'pour ca !
De rien ^^'
Revenir en haut Aller en bas
Contenu sponsorisé




Problème RGSS, method update Empty
MessageSujet: Re: Problème RGSS, method update   Problème RGSS, method update Icon_minitime

Revenir en haut Aller en bas
 

Problème RGSS, method update

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Problème - Banque (undefined method `each' for nil:NilClass)
» [Résolu] Question RGSS (Problème RPG::MapInfo)
» update cursor
» Buy it, use it, break it, fix it. Cross it, crack it, twitch - update it !
» RGSS 3

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit