- ZouzakaMembre
- Nombre de messages : 302
Age : 25
Distinction : aucune
Date d'inscription : 25/12/2011
Afficher une window pendant une action
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 =)
je voudrait just savoir ou placer la ligne qui affiche la window ?
Merci d'avance, Cordialement Zouzaka =)
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Afficher une window pendant une action
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 .
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 .
- ZouzakaMembre
- Nombre de messages : 302
Age : 25
Distinction : aucune
Date d'inscription : 25/12/2011
Re: Afficher une window pendant une action
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.
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.
- fake66Membre
- Nombre de messages : 61
Age : 37
Localisation : Vendée
Distinction : aucune
Date d'inscription : 17/05/2013
Re: Afficher une window pendant une action
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.
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.
- ZouzakaMembre
- Nombre de messages : 302
Age : 25
Distinction : aucune
Date d'inscription : 25/12/2011
Re: Afficher une window pendant une action
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
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Afficher une window pendant une action
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 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).
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 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).
- ZouzakaMembre
- Nombre de messages : 302
Age : 25
Distinction : aucune
Date d'inscription : 25/12/2011
Re: Afficher une window pendant une action
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 =)
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
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|