Partagez
Aller en bas
Zouzaka
Zouzaka
Membre

Nombre de messages : 302
Age : 21
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Afficher une window pendant une action

le Sam 3 Mai 2014 - 22:55
Je voudrait faire en sort qu'une window (que j'ai déjà créer) s'affiche pendant l’exécution d'une animation X
je voudrait just savoir ou placer la ligne qui affiche la window ?

Merci d'avance, Cordialement Zouzaka =)


Dernière édition par Zouzaka le Jeu 8 Mai 2014 - 19:04, édité 1 fois
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: Afficher une window pendant une action

le Sam 3 Mai 2014 - 23:09
Euh , tu devrais nous dire en détail ce que tu veux faire .
parce qu'une animation pendant laquelle on affiche une window , je ne vois pas comment ça peux marcher .
Précise aussi si ça doit etre pendant le combat ou sur la map .
Zouzaka
Zouzaka
Membre

Nombre de messages : 302
Age : 21
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Afficher une window pendant une action

le Sam 3 Mai 2014 - 23:34
Pendant un combat, la compétence X est utilisé, le reste de l’équipe fait ce qu'il veut (défense, attaque ...)
lorsque les commandes qui ont été choisi commence a être exécute, notamment la compétence X
il y a l'animation (une boule de feu et tout le tralala) et pendant cette animation une window s'ouvre
a la fin de l'animation la window ce ferme.
fake66
fake66
Membre

Nombre de messages : 61
Age : 32
Localisation : Vendée
Distinction : aucune
Date d'inscription : 17/05/2013

Résolu Re: Afficher une window pendant une action

le Dim 4 Mai 2014 - 9:49
Ca risque d'être pas mal compliqué. je me suis pas encore trop penché sur la solution mais est ce que se serais pas plus simple de faire que la competence appel un evenement commun.

De cette manière, au lancement de la competence, tu pourras lancer l'animation (par evenement) et quelques frames plus tard (au moment voulus pendant l'animation) ouvrir une fenêtre (si sa colle avec ta fenêtre). ensuite pour les dégâts il faudras faire avec des variable pour calculer les dégâts et les infliger de force (modifier les PV d'un enemi).

Deuxième solution:

La competence appel un evenement commun dans lequel tu affiche une animation pour simuler l'attaque, puis après x frames (pour pas afficher la fenêtre imediatement) tu ouvre ta fenêtre (je sais pas comment)
puis ensuite pour les dégâts tu fait "forcer une action" et tu lance une compétence (une autre) qui n'aurais aucune animation, histoire de faire uniquement les dégâts et pas d'animation.

Dans les deux cas, tu risque d'avoir des dégât qui s'affichent aprés l'attaque.


troisième solution: (qui me viens tout juste à l'esprit)

ta competence appel un evenement commun (oui je ne jure que par ca ^^)
qui lui même affiche ta fenêtre.

comme ca ta competence fait ses dégâts normaux et tout, et l'evenement commun se charge uniquement de faire venir la fenêtre. (oublie pas de gerer son apparition avec "attendre x frames")

Dit nous en plus sur cette "windows" et si c'est pas top secret, sur ce que tu cherche à faire. souvent il y a plusieurs solution pour faire une chose.
Zouzaka
Zouzaka
Membre

Nombre de messages : 302
Age : 21
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Afficher une window pendant une action

le Dim 4 Mai 2014 - 18:38
C'est possible, mais je début en script et je voudrait m’approfondir mes connaissance c'est pour cela que j'ai choisi de faire ça en script, d’ailleurs ce script ne me servira a rien puisque je n'est aucun projet en cours :p
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: Afficher une window pendant une action

le Mer 7 Mai 2014 - 19:58
Eh bien , t'attaquer à une modif pendant les animations n'est pas une bonne idée si tu débutes dans le scripting . c'est un des points les plus compliqués .

Le mieux serait que tu fasses une nouvelle scene , ça te permettra de bien apréhender le fonctionnement des scenes de VXAce qui est moins clair que sous VX (mais donne un code plus court). Et pour que ce soit plus facile , choisit une qui ressemble fort à une scene qui existe déja . par exemple , une amélioration de l'écran de statut ou un magasin particulier ou une autre façon de voir les objets ...

Le combat et les animations , c'est le niveau "avancé" .

EDIT : je viens de voir un de tes scripts , tu as fait exactement ce que je disait Smile bon ben , tu vas pouvoir essayer le niveau "avancé" alors . les animations de combat sont portés par la classe Sprite_Battler et Sprite_Base . j'ai pas trop pratiqué et je ne vois pas trop comment afficher une window (c'est plutot dans une scene qu'on fait ça).
Zouzaka
Zouzaka
Membre

Nombre de messages : 302
Age : 21
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Afficher une window pendant une action

le Jeu 8 Mai 2014 - 17:47
Merci c'est l'information que je cherchait, je ne vais pas mettre en résolu tout de suit je laisse comme en cas de rencontre de problème =)
C'est bon, résolu =)
au lieu de la créer pendant un animation je fait juste en sort quelle soit visible.
maintenant je vais continuer mon script pour qu'il prenne un peut de sens et le partager par la suite =)
Script:
Code:
module Dressage
  #Degradé dans la window de capture
  Couleur1 = Color.new(255, 0, 0)
  Couleur2 = Color.new(0, 255, 0)
end

class Scene_Battle < Scene_Base
  alias :dresser_update_basic :update_basic
  alias :dresser_create_all_windows :create_all_windows
  def create_all_windows
    dresser_create_all_windows
    creat_luck_window
  end
  def creat_luck_window
    @luck_window = Window_Jauge.new(200,50,150,50)
  end
  def update_basic
    dresser_update_basic
    if @spriteset.animation?
      @luck_window.visible = true
    else
      @luck_window.visible = false
    end
  end
end
class Window_Jauge < Window_Base
  include Dressage
  def initialize(x, y, width, height)
    super
    creat_jauge
    self.visible = false
  end
  def creat_jauge
    contents.gradient_fill_rect(5,5,100,40,Couleur1,Couleur2)
  end
end
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum