- ArseniaMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 27/06/2018
Mini-jeu (pavé numérique + chronomètre)
Lun 11 Mar 2019 - 15:43
Bonjour la communauté =)
Alors je vous explique le problème. J'aimerais faire une sorte de mini jeu ou le joueur doit cumuler une série de touches (haut/bas/droite/gauche) pour sauver un personnage, et si échec, ça lance un game over.
De plus, l'idée est d'avoir un petit texte qui s'afficherait avec la combinaison, mais pour une durée limitée.
J'ignore si cela est possible :/
J'ai énormément de mal à comprendre le fonctionnement de cette commande d'événement qu'est le chronomètre, et si pour les autres j'ai réussi à le faire fonctionner, ici ça ne marche pas.
Je vous montre mes pages d'événements :
Page 1
Page 2
J'ai testé sur d'autres events en processus parallèle mais ça ne marchait pas non plus, là j'ai tous mis sur le même evenement, au cas où cela puisse marcher, mais nope ^^'
Voila, si quelqu'un a une solution, ce serait vraiment super, sinon je testerai autrement
Merci d'avance pour votre aide =)
Alors je vous explique le problème. J'aimerais faire une sorte de mini jeu ou le joueur doit cumuler une série de touches (haut/bas/droite/gauche) pour sauver un personnage, et si échec, ça lance un game over.
De plus, l'idée est d'avoir un petit texte qui s'afficherait avec la combinaison, mais pour une durée limitée.
J'ignore si cela est possible :/
J'ai énormément de mal à comprendre le fonctionnement de cette commande d'événement qu'est le chronomètre, et si pour les autres j'ai réussi à le faire fonctionner, ici ça ne marche pas.
Je vous montre mes pages d'événements :
Page 1
- Spoiler:
Page 2
- Spoiler:
J'ai testé sur d'autres events en processus parallèle mais ça ne marchait pas non plus, là j'ai tous mis sur le même evenement, au cas où cela puisse marcher, mais nope ^^'
Voila, si quelqu'un a une solution, ce serait vraiment super, sinon je testerai autrement
Merci d'avance pour votre aide =)
Re: Mini-jeu (pavé numérique + chronomètre)
Lun 11 Mar 2019 - 16:08
A moins que je me trompe, c'est parce qu'avec tes conditions imbriquées, il faudrait que tout soit appuyé en même temps, ce qui n'est pas possible, le logiciel prenant les appui-touche un par un.
Je te propose de tester ça :
1- Crée une variable "Touches Réussies".
2- Juste après l'étiquette "recommencer", modifie la variable pour la rendre égale à 0.
3 - Place tes conditions comme suit :
Boucle
Si Var"Touches Réussies" = 0
- Si la Touche Bas est enfoncée
-- Var"Touches Réussies" + 1
--Sinon : Recommencer
Si Var"Touches Réussies" = 1
- Si la Touche Droite est enfoncée
-- Var"Touches Réussies" + 1
--Sinon : Recommencer
Si Var"Touches Réussies" = 2
- Si la Touche Droite est enfoncée
-- Var"Touches Réussies" + 1
--Sinon : Recommencer
...etc jusqu'à la fin de l'enchaînement.
Attendre 3 frames
Fin de boucle
Tu utilises la fonction sortir de la boucle à la fin de l’enchaînement de touches s'il est réussi.
Je n'ai pas testé directement, mais ça devrait marcher. J'espère. ^^
EDIT : j'espère que tu n'étais pas déjà en train de tester pendant que je modifiais mon message, j'ai ajouté une boucle pour le faire fonctionner, je ne suis pas certain que ça marche sans ça. Peut-être, mais dans le doute...
EDIT 2 : Oh et j'oubliais. La seconde page de ton event, ne la met pas en seconde page justement. Crée un event à part, invisible quelque part. Sinon l'activation de ton interrupteur fait tout de suite basculer sur la deuxième page, et le code ne lit plus la première.
Je te propose de tester ça :
1- Crée une variable "Touches Réussies".
2- Juste après l'étiquette "recommencer", modifie la variable pour la rendre égale à 0.
3 - Place tes conditions comme suit :
Boucle
Si Var"Touches Réussies" = 0
- Si la Touche Bas est enfoncée
-- Var"Touches Réussies" + 1
--Sinon : Recommencer
Si Var"Touches Réussies" = 1
- Si la Touche Droite est enfoncée
-- Var"Touches Réussies" + 1
--Sinon : Recommencer
Si Var"Touches Réussies" = 2
- Si la Touche Droite est enfoncée
-- Var"Touches Réussies" + 1
--Sinon : Recommencer
...etc jusqu'à la fin de l'enchaînement.
Attendre 3 frames
Fin de boucle
Tu utilises la fonction sortir de la boucle à la fin de l’enchaînement de touches s'il est réussi.
Je n'ai pas testé directement, mais ça devrait marcher. J'espère. ^^
EDIT : j'espère que tu n'étais pas déjà en train de tester pendant que je modifiais mon message, j'ai ajouté une boucle pour le faire fonctionner, je ne suis pas certain que ça marche sans ça. Peut-être, mais dans le doute...
EDIT 2 : Oh et j'oubliais. La seconde page de ton event, ne la met pas en seconde page justement. Crée un event à part, invisible quelque part. Sinon l'activation de ton interrupteur fait tout de suite basculer sur la deuxième page, et le code ne lit plus la première.
- KingdommangasMembre
- Nombre de messages : 1401
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
Re: Mini-jeu (pavé numérique + chronomètre)
Lun 11 Mar 2019 - 16:32
Yep c'est entièrement possible.Arsenia a écrit:J'aimerais faire une sorte de mini jeu ou le joueur doit cumuler une série de touches (haut/bas/droite/gauche) pour sauver un personnage, et si échec, ça lance un game over.
De plus, l'idée est d'avoir un petit texte qui s'afficherait avec la combinaison, mais pour une durée limitée.
J'ignore si cela est possible :/
Voici comment faire:
Afficher texte: Réchauffer votre allié en 1 min
--------------------------------
Pour afficher la bonne combinaison, une image ou alors plusieurs images si tu souhaite réutiliser le même système serait préférable.
L'image reste à l'écran tout le temps du mini jeu alors que la boite de dialogue oblige le joueur à retenir la combinaison.
--------------------------------
Afficher image ID1: flèche haut
Afficher image ID2: flèche droite
Afficher image ID3: flèche bas
Afficher image ID4: flèche haut
Condition: Si la touche Haut est enfoncée
-> boucle
->Condition: Si la touche Haut est enfoncée
->->
->->Sinon
->-> Jouer effet sonore X
->->Rompre le boucle
->->Fin
->Atendre 1 frame
->Répéter ci dessus
->Fin
--------------------------------------
En event making, "Si la touche est pressée" signifie que le logiciel n'attend pas que le joueur ait lâcher la touche pour valider l'action.
Du coup, ton système doit valide la 1er touche mais considère la seconde alors que le joueur n'a pas relâcher le clavier.
Ce système est l'équivalent de "Si la touche est appuyé".
j'espère t'avoir aider ^^
- ArseniaMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 27/06/2018
Re: Mini-jeu (pavé numérique + chronomètre)
Lun 11 Mar 2019 - 16:34
Merci pour vos réponses très rapides
Je teste ça des que je peux
Je teste ça des que je peux
Re: Mini-jeu (pavé numérique + chronomètre)
Lun 11 Mar 2019 - 17:07
Bon, j'ai pu tester sur le logiciel directement. C'est un peu plus complexe que ce qu'on croirait de prime abord.
Voilà le code des deux events que j'utilise pour faire fonctionner ton système.
Event Principal :
https://2img.net/image.noelshack.com/fichiers/2019/11/1/1552320120-event-principal.png
Event Parallèle :
https://2img.net/image.noelshack.com/fichiers/2019/11/1/1552320119-event-paralelle.png
Le code est un peu long parce qu'à chaque touche différente appuyée, on doit faire vérifier que le joueur n'a pas appuyé sur une mauvaise touche aussi.
Du coup, l'event fonctionne en se basant uniquement sur les touches directionnelles : si on appuie sur la bonne, ça passe à la suite, sinon, on recommence à zéro.
Si le joueur appui sur une mauvaise touche, mais qui ne fait pas partie des directionnelles (entrée ou échap par exemple, il ne se passe rien).
Dans l'event test, la combinaison est un simple enchaînement de "Haut-Bas-Gauche-Droite".
A toi de re-paramétrer avec la suite de touche qui te convient. ^^
PS : et oui, imager les choses avec des images de touches, et surtout ajouter des effets sonores pour valider une touche réussie, c'est pas mal, la proposition de Kingdo' est bonne à prendre !
Voilà le code des deux events que j'utilise pour faire fonctionner ton système.
Event Principal :
https://2img.net/image.noelshack.com/fichiers/2019/11/1/1552320120-event-principal.png
Event Parallèle :
https://2img.net/image.noelshack.com/fichiers/2019/11/1/1552320119-event-paralelle.png
Le code est un peu long parce qu'à chaque touche différente appuyée, on doit faire vérifier que le joueur n'a pas appuyé sur une mauvaise touche aussi.
Du coup, l'event fonctionne en se basant uniquement sur les touches directionnelles : si on appuie sur la bonne, ça passe à la suite, sinon, on recommence à zéro.
Si le joueur appui sur une mauvaise touche, mais qui ne fait pas partie des directionnelles (entrée ou échap par exemple, il ne se passe rien).
Dans l'event test, la combinaison est un simple enchaînement de "Haut-Bas-Gauche-Droite".
A toi de re-paramétrer avec la suite de touche qui te convient. ^^
PS : et oui, imager les choses avec des images de touches, et surtout ajouter des effets sonores pour valider une touche réussie, c'est pas mal, la proposition de Kingdo' est bonne à prendre !
- ArseniaMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 27/06/2018
Re: Mini-jeu (pavé numérique + chronomètre)
Lun 11 Mar 2019 - 21:29
Alors j'ignore pourquoi, mais quand je passe en mode test, le jeu n'a pas l'air de reconnaître les touches.
En effet, même si j'ai précisé touche bas pour la première ligne, il ne fonctionne pas, mais semble marcher quand j'actionne la touche droite... Oo
De plus, ça lag énormément malgré les frames (j'ai testé avec 15 frames ça le fait aussi :/)
Je poste ma fenêtre d'event au cas ou j'ai peut être manqué quelque chose, mais je ne comprend pas pourquoi ça ne fonctionne pas :/
(pour la 2e fenêtre d'event, elle fonctionne parfaitement)
Sinon oui, je ferai un mix de vos deux réponses, en effet je n'ai pas songé à mettre son ou d'image pour les réussites et échec! je le ferai du coup =)
En effet, même si j'ai précisé touche bas pour la première ligne, il ne fonctionne pas, mais semble marcher quand j'actionne la touche droite... Oo
De plus, ça lag énormément malgré les frames (j'ai testé avec 15 frames ça le fait aussi :/)
Je poste ma fenêtre d'event au cas ou j'ai peut être manqué quelque chose, mais je ne comprend pas pourquoi ça ne fonctionne pas :/
(pour la 2e fenêtre d'event, elle fonctionne parfaitement)
- Spoiler:
Sinon oui, je ferai un mix de vos deux réponses, en effet je n'ai pas songé à mettre son ou d'image pour les réussites et échec! je le ferai du coup =)
- KingdommangasMembre
- Nombre de messages : 1401
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
Re: Mini-jeu (pavé numérique + chronomètre)
Mer 13 Mar 2019 - 15:20
Alors plusieurs points me chiffonne.
- A quoi sert l’interrupteur Réchauffer chronomètre ?
--> Si c'est pour un visuel de ton charac no pb.
--> Si c'est pour le code, je ne voit pas à quoi il sert.
- Il devrait y avoir 2 étiquettes
--> Une au dessus de l'initialisation du chronomètre pour recommencer du tout début
--> L'autre là ou elle est pour recommencer sans reprendre le chrono à 15 sec.
- Lorsque tu as la var réussie égale à 5, tu devrais sortir de la boucle et seulement apres réaliser ta cinématique. La elle est courte donc ca peut aller mais en cas de scène longue, tu ne vas pas tout mettre dans la boucle de ton mini jeu.
- Il faudrait une condition : Si chrono est égale à zéro en plus de la variable réussie qui renvoie à l'étiquette supplémentaire. Il faut prévoir que le joueur n'arrive pas à faire le mini jeu.
- La boucle sert à quoi ? Actuellement ta boucle est pas franchement différentes d'un event en processus parallèle.
- Déjà pas besoin de mettre 4 frames, une seule suffit. Concrètement dans mon programme plus haut il est écrit ceci:
--> Si touche bas est pressé, on crée une boucle pour vérifier que le joueur relâche la touche.
On mets donc la condition si la touche est pressé une seconde fois car cela nécessite que le joueur relâche la touche d'abord.
Le 1 frame sert à ralentir la boucle car 1 frame = 1 dixième de seconde, le boucle tourne par défaut beaucoup plus que cela et même en l'obligeant à se stopper 1 frame ca ne laguera pas. En revanche 4 frames est un peu trop, persos je ne vais pas au delà de 3 frames mais tout le monde n'est pas du même avis.
Ensuite le sinon, la condition est Si la touche bas est pressé, le sinon implique que toute les touches autres que bas sont pressé, pas besoin de mettre de sous conditions pour les autres touches.
- Pour terminer commencer par demander à ton programme d'appuyer 3 ou 4 fois sur une même touche avant de faire des combinaisons, ton code sera plus court et plus simple à corriger.
La base est de tester petit, si le code fonctionne pour la première touche, ajoute en une seconde et si la combinaisons des deux fonctionnent, copie colle et envoie la sauce.
- A quoi sert l’interrupteur Réchauffer chronomètre ?
--> Si c'est pour un visuel de ton charac no pb.
--> Si c'est pour le code, je ne voit pas à quoi il sert.
- Il devrait y avoir 2 étiquettes
--> Une au dessus de l'initialisation du chronomètre pour recommencer du tout début
--> L'autre là ou elle est pour recommencer sans reprendre le chrono à 15 sec.
- Lorsque tu as la var réussie égale à 5, tu devrais sortir de la boucle et seulement apres réaliser ta cinématique. La elle est courte donc ca peut aller mais en cas de scène longue, tu ne vas pas tout mettre dans la boucle de ton mini jeu.
- Il faudrait une condition : Si chrono est égale à zéro en plus de la variable réussie qui renvoie à l'étiquette supplémentaire. Il faut prévoir que le joueur n'arrive pas à faire le mini jeu.
- La boucle sert à quoi ? Actuellement ta boucle est pas franchement différentes d'un event en processus parallèle.
- Déjà pas besoin de mettre 4 frames, une seule suffit. Concrètement dans mon programme plus haut il est écrit ceci:
--> Si touche bas est pressé, on crée une boucle pour vérifier que le joueur relâche la touche.
On mets donc la condition si la touche est pressé une seconde fois car cela nécessite que le joueur relâche la touche d'abord.
Le 1 frame sert à ralentir la boucle car 1 frame = 1 dixième de seconde, le boucle tourne par défaut beaucoup plus que cela et même en l'obligeant à se stopper 1 frame ca ne laguera pas. En revanche 4 frames est un peu trop, persos je ne vais pas au delà de 3 frames mais tout le monde n'est pas du même avis.
Ensuite le sinon, la condition est Si la touche bas est pressé, le sinon implique que toute les touches autres que bas sont pressé, pas besoin de mettre de sous conditions pour les autres touches.
- Pour terminer commencer par demander à ton programme d'appuyer 3 ou 4 fois sur une même touche avant de faire des combinaisons, ton code sera plus court et plus simple à corriger.
La base est de tester petit, si le code fonctionne pour la première touche, ajoute en une seconde et si la combinaisons des deux fonctionnent, copie colle et envoie la sauce.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|