Besoin d'un coup de pouce sur Construct 2 ? C'est par ici !
Avatar de l’utilisateur
par Jackie chang
#22736 Salut tout le monde !
Voilà, depuis quelque temps j'ai un problème, j'ai mis à mon Perso une animation qui s'active quand on appuis sur une touche, jusqu'à la tout va bien !
Mais je voudrais que pendant cette animation il ne soit possible de rien faire, c'est à dire, impossible de faire sauter le personnage par dessus des obstacles, impossible d'utiliser le clavier ou le touch pad, en fait, désactiver les contrôles ?!
Mais à la fin de l'animation je voudrais qu'on puisse reprendre le contrôle de tout les mouvements comme avant !
J'ai recherché comment faire, j'ai essayé de désactiver le groupe "Contrôle" au moment de l'animation mais cela na pas fonctionné !
Merci d'avance pour le réponse ! :)
Avatar de l’utilisateur
par amkp
#22738 Est ce que ton perso a un comportement Platform: Default controls: Yes ?
Ou gères tu toi même les contrôles dans ton code.
Avatar de l’utilisateur
par Jackie chang
#22753 Nan je gère moi même les contrôles !
C'est pour ça, j'ai essayé de mettre tous les contrôles dans un groupe et de mettre une action comme quoi le groupe se désactive quand on appuis sur la touche de l'animation, mais cela n'a pas marché !
Avatar de l’utilisateur
par Moo
#22755 Salut,

As-tu essayé d'ajouter la condition Sprite X > Animation "Is playing" (+ invert) -> l'animation is not playing quoi
En gros tu ajoutes cette condition sur toutes les conditions des contrôles que tu veux couper pendant l'anim.

A+
Avatar de l’utilisateur
par SowSow
#22756 En suivant la base de Moo mais si tu bloque les conditions de contrôles c'est les animations lié au contrôles qui vont s'annulé (le joueur pourra toujours se déplacer mais sans animation) mettre "Platform -> Set disabled" plutôt ?
Avatar de l’utilisateur
par amkp
#22766
C'est pour ça, j'ai essayé de mettre tous les contrôles dans un groupe et de mettre une action comme quoi le groupe se désactive quand on appuis sur la touche de l'animation, mais cela n'a pas marché !


Théoriquement, si cette solution ne fonctionne pas, c'est qu'à priori, il y'a une erreur dans ton code. Si tu veux plus d'aide, mieux vaut que tu donnes une copie d'écran du code...
Avatar de l’utilisateur
par naelian
#22771 Une erreur courante que je constate dans les codes est liée à l'utilisation abusive des groupes comme si il s'agissait d'étiquettes de commentaires ...

Bref pour créer un "vrai" groupe utile il faut impérativement que "toute" la programmation associée au groupe soit contenue dans un "sous-event" créé après avoir sélectionné le groupe . Si c'est correct à gauche du nom de votre groupe vous devez avoir un "+" ou un " -" pour masquer ou au contraire afficher l'ensemble du code du groupe ... tout ce qui n'est pas dans cette zone que l'on peux afficher/masquer avec +/- n'est pas considérée comme étant dans un groupe !

Autre point un groupe accepte très mal d'être renommé après sa création ... utilisez tjrs des noms clairs, courts, distinctifs, construits avec une même logique et sans accents pour éviter les soucis , ex:

[GPControle]
[GPDebut]
[GPFin]
Avatar de l’utilisateur
par Moo
#22777 Salut,

Nan, c'est pas ce que je voulais dire lol... je parlais d'activer les contrôles ou le groupe avec les contrôles quand l'animation "is not playing" et inversement mais je viens de tester et ça marche pas.... bizarre d'ailleurs....

Du coup j'ai fais cet exemple qui sera plus parlant, fichier ci-joint, quand on presse Espace l'animation se lance (couleurs simples qui défilent) et les contrôles se désactivent, et à la fin de l'animation les contrôles se réactivent.

A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar de l’utilisateur
par naelian
#22778 En fait is playing "Animation2" signifie juste que c'est une image de "Animation2" qui est utilisée en ce moment alors que l'on pense souvent que cela signifie que non seulement l'animation2 est utilisée mais aussi qu'elle est ni finie ni en pause ou stoppée. En vérité à la fin de "Animation2" C2 reste sur la dernière image de "Animation2" et dans ce cas malheureusement pour C2 <is playing "Animation2"> reste encore vrai et donc is not playing "Animation2" reste faux.

Bref tu es bien obligé à un moment d'intégrer au moins un test pour vérifier que l'animation est "finie" comme par exemple ton "animation is finished". Mais là ton dernier exemple est parfait.