Messagerie


[FUSION 2.5 Dev] Ajout de qualifieur en runtime

TEA
vendredi 15 mai 2015 à 21:11
Bonjour ! J'aurais une petite question, et je crois que c'est la section pour.

J'ai un peu chercher (peut-être mal) et je n'ai rien trouvé répondant à ma demande. C'est assez simple en fait, j'aimerais savoir si il est possible d'ajouter ou retirer un objet d'un groupe (qualifieur) en runtime. Ou l'inverse bien entendu... (ajouter un qualifieur à un objet).
atheros75
vendredi 15 mai 2015 à 22:59
Cette capture répond à ta question ?
TEA
vendredi 15 mai 2015 à 23:06
Non pas vraiment. En fait je sais ajouter un qualifieur, mais pas poendant que l'application tourne... Je m'explique.
J'ai programmé deux comportement différents, chacun attribué à un qualifieur. J'ai un actif avec le qualifieur 1 qui agit d'une certaine manière. A un moment, pendant ma scène, son état change et du coup, j'aimerais lui attribuer un autre qualifieur (qualifieur 2) pour que mon actif réagisse comme les autres actifs de ce qualifieur 2.
TOUT CA PENDANT QUE MON APPLICATION TOURNE.

Merci de prendre le temps de répondre, et aussi vite qui plus est :)
atheros75
vendredi 15 mai 2015 à 23:45
Tu parles de qualifieurs et ensuite de comportement (behavior). Ce n'est pas la même chose. Ton actif peut avoir plusieurs qualifieurs, ça c'est ok, mais il peut aussi avoir plusieurs comportements (comportement 1, comportement 2, etc)... en fonction des évènements. Exemple : quand ton actif rencontre une grand-mère il lui colle une tarte, mais quand il rencontre madame Michu (l'épicière du coin à qui il vole des caramels mous), il décampe en courant.  :jesors
TEA
vendredi 15 mai 2015 à 23:51
"J'ai programmé deux comportements différents, chacuns attribués à un qualifieur."

Le comportement dépend donc du qualifieur. Pour reprendre ton exemple: Si mon actif  croise une grand mère, si c'est un homme il lui colle une tarte, si en revanche c'est une femme elle l'aide à traverser ;)
atheros75
samedi 16 mai 2015 à 00:10
Dans ce cas on peut dire : ton actif a un qualifieur lambda et 2 comportements :
1 : gentil
2 : méchant
Quand il est en contact avec un gentil son comportement est 1
Quand il est en contact avec un méchant son comportement est 2

Donc, ce sont les autres intervenants qui doivent avoir des qualifieurs différents pour que ton actif puisse les identifier. Hum... Je ne suis pas sûr d'être très clair
TEA
samedi 16 mai 2015 à 00:39
Oui je vois ce que tu veux dire. Il applique l'un des différents comportements selon la situation. (Si il rencontre une vielle dame ou madame Michu, pour reprendre ton exemple)
Mais je ne crois pas que ce soit ce que je recherche car, supposons que mon deuxième actif soit une une grand-mère et à la fois madame michu, lequel des comportements va-t-il devoir appliquer ?

A la limite je trouverais une alternative, mais j'aimerais juste avoir confirmation que modifier l'appartenance ou non à des qualifieurs en cours de scène n'est pas possible. Car cela faciliterait le boulot dans mon cas précis. Si c'est impossible je trouverais un autre moyen :/

Quoi qu'il en soit, merci de prendre le temps de te pencher sur mon problème.
Monos
2713 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5
samedi 16 mai 2015 à 07:22
Non, tu ne peux pas modifier un qualificateur en runtime. Mais n'oublie pas que tu peux ajouter des "comportement" et de la programmation propre au objet. Avec un jeu de condition tu peux varier le comportement de ton objet.
atheros75
samedi 16 mai 2015 à 11:55
Un petit exemple serait plus parlant pour toi ? En voici un simple.
Pièces jointes
TEA
samedi 16 mai 2015 à 13:43
Oui je m'en sers déjà beaucoup des behaviors. (Super utile d'ailleurs ce truc)

En fait, c'est pour un jeu de combat au tour par tour. J'en suis au ciblage et calcul des dégâts et j'aurais aimé ne faire qu'une ligne où les dégâts sont automatiquement infligés aux actifs du groupe "cible", par exemple. Mon idée était de les ajouter au groupe (qualifieur) "cible" lorsque je clique dessus au moment du ciblage et d'ensuite soustraire les dégâts au(x) membre(s) de ce même groupe puis de les en retirer à la fin du tour. Cette manière de procéder m'évitait de faire des lignes spécifiques pour chaque cas etc. Il doit y avoir une autre façon de faire, aussi simple, mais j'y connais pas encore grand chose donc...
L'objet For Each devrait pouvoir faire ça, non ? (jamais utilisé. Je vais tester.)

En tout cas merci pour tout les mecs !! Vu la vitesse et la qualité avec laquelle on répond, je ne regrette pas de m'être inscrit ici.

(Hahaha ton exemple m'a fait bien rire atheros ^^)
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 18 visiteurs au total

Derniers messages