Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Veut pô quitter!

Aller en bas 
+2
Shai-la
Kromagnon
6 participants
AuteurMessage
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Kromagnon


Nombre de messages : 1015

Age : 40

Localisation : Finistère

Date d'inscription : 19/09/2006


Veut pô quitter! Empty
MessageSujet: Veut pô quitter!   Veut pô quitter! EmptyJeu 19 Oct 2006 - 23:07

Je compte faire des gui pour chacunes des fenetres(sauver charger quitter) et donc quand je quitte il m'affiche le gui1(en popup modal) qui demande si je veux quitter(y/n) mais le probleme c'est que quand j'appui sur les touches rien ne se passe(j'ai essayé de voir si ca venait pas du IsGamePaused=>keycode=0 en le remplacant par 1 mais ca n'a rien fait)

voici le code

Code:
#sectionstart quitter_Click  // DO NOT EDIT OR REMOVE THIS LINE
function quitter_Click(GUIControl *control, MouseButton button){
  gGui1.Visible=true; //voulez vous quitter
  if (IsKeyPressed(78)==1) gGui1.Visible=false; //N,non
  if (IsKeyPressed(89)==1) QuitGame (0); //Y,oui
  }

_________________
Projet en cours: Cadaver Heart

Quelques photos de promenades insolites sur cette page
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 6:40

Plutôt que d'appuyer sur une touche, essaye plutôt de programmer deux boutons, un oui et un non ?..
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Kromagnon


Nombre de messages : 1015

Age : 40

Localisation : Finistère

Date d'inscription : 19/09/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 8:16

C'est peut etre ce que je vais faire en effet c'est beaucoup plus simple mais cette histoire me turlupine quand meme....

_________________
Projet en cours: Cadaver Heart

Quelques photos de promenades insolites sur cette page
Revenir en haut Aller en bas
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Asraroth


Nombre de messages : 1468

Age : 49

Date d'inscription : 20/10/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 8:39

Je crois me souvenir que la fonction IsKeyPressed n'est pas bloquante... A peine la GUI visible, les 2 lignes de test "IsKeyPressed" sont exécutées imédiatement, et le programme ressort de la fonction.
Il faudrait mettre une boucle du genre :
Code:

Boucle = 1;
WHILE (Boucle == 1) {
  if (IsKeyPressed(78)==1) { gGui1.Visible=false; Boucle = 0; } //N,non
  if (IsKeyPressed(89)==1) QuitGame (0); //Y,oui
}

Pas sûr de la syntaxe.. je fais plus trop d'AGS en ce moment.
Revenir en haut Aller en bas
https://gl0bul.itch.io/
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
MarvinS


Nombre de messages : 76

Age : 47

Date d'inscription : 18/09/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 8:49

Bien vu Asraroth, ça me semble en effet être la solution au problème !
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 9:44

Moi, ce que je fais, c'est que je mets d'abord le code "WaitKey(200);". Comme ça le programme attend effectivement que le joueur appuie sur une touche (il attend pendant 200 cycles avant de revenir au jeu).
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Kromagnon


Nombre de messages : 1015

Age : 40

Localisation : Finistère

Date d'inscription : 19/09/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 11:18

A ouais bien vu merci asraroth :cheers:
je croyais que par defaut le script faisait une boucle mais en fait il ne le lit qu'une fois....c'est pour ca que j'ai galeré avec mon probleme du jeu en pause aussi alors! :roll:
Shai-la l'idée est bien mais ne peut pas trop s'appliquer ici=>le mec a 5sec pour faire son choix sinon le jeu bloque! clin d'oeil

_________________
Projet en cours: Cadaver Heart

Quelques photos de promenades insolites sur cette page
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 15:02

La solution de la boucle n'est pas bête en effet, mais est un peu désagréable pour la machine car elle demande beaucoup.

N'oubliez pas qu'il existe la fonction on_key_press qui est justement présente pour permettre la détection d'appui sur une touche ^^

Alors plutôt qu'un boucle, il faudrait préférer une méthode consistant à régler une variable sur 1 lors de l'affichage du GUI, comme suggéré précédemment, et agencer la fonction ainsi :

Code:
function on_key_press(int key) {
  if (Gui_key == 1) {
    if (key == 78) {
      gGui1.Visible=false;
      Gui_key = 0; } //N,non
    if (key == 89) QuitGame (0); //Y,oui
  }
}

Ou même autant profiter de cette fonction déjà prévue dans le script global, puisque le GUI est un élément global du jeu ^^

Enfin à toi de voir, mais je pense que cette fonction est plus adaptée et plus raisonnable qu'une boucle (élément à éviter le plus possible en programmation)

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Kromagnon


Nombre de messages : 1015

Age : 40

Localisation : Finistère

Date d'inscription : 19/09/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyVen 20 Oct 2006 - 15:16

Je te remercie, j'ai essayer de faire un truc avec on_key_press mais je n'y suis pas arrivé.je suis pas encor très au point sur le script mais quand j'aurais lu tout les tutos a shai-la ca devrait etre plus facile!^^

_________________
Projet en cours: Cadaver Heart

Quelques photos de promenades insolites sur cette page
Revenir en haut Aller en bas
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
MarvinS


Nombre de messages : 76

Age : 47

Date d'inscription : 18/09/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 5:40

Kitai a écrit:
La solution de la boucle n'est pas bête en effet, mais est un peu désagréable pour la machine car elle demande beaucoup.

N'oubliez pas qu'il existe la fonction on_key_press qui est justement présente pour permettre la détection d'appui sur une touche ^^

Tu as tout à fait raison.
Mieux vaut eviter de faire partir une machine dans une boucle quasi sans fin.

De plus, il me semble que AGS s'arrette de lui même s'il se rend compte qu'il boucle au même endroit trop de fois.
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 6:42

C'est vrai ça ?..
Parce que ça m'est souvent arrivé de créer des boucles infinies moi-même sans m'en rendre compte... Par exemple, quand un perso traverse une région, je demande au jeu d'afficher un message. Mais comme ça met le jeu en pause et que le personnage ne peut plus avancer, le message s'affiche indéfiniment, et je suis obligée de quitter le jeu "par la force" (ctrl+alt+suppr). Et je dois alors rajouter une commande pour éloigner le personnage de la région (on ne peut pas penser à tout ^^).
Dans Game Factory, au moins, y'a une fonction "une seule fois si l'événement est en boucle" qui me sert presque tout le temps ! :lol!:
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
MarvinS


Nombre de messages : 76

Age : 47

Date d'inscription : 18/09/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 9:06

Oui c'est vrai, je ne m'étais pas trompé clin d'oeil

Je viens de faire un test en tapant ce code :

Code:

int test = 1;
while (test ==1) {}


Et quand j'execute le script AGS me sort ce message :
Veut pô quitter! Agsbouclefb6
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 13:01

Shai-la a écrit:
Et je dois alors rajouter une commande pour éloigner le personnage de la région (on ne peut pas penser à tout ^^).

Tu peux aussi définir une variable booléenne qui s'active lorsque le personnage ARRIVE dans la zone, et qui ne se désactive que lorsqu'il la quitte. (Ou inversement selon ce que tu juges le plus logique)
Ainsi le message ne s'afficherait qu'une seule fois par pénétration dans la région :]

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 17:32

Je ne touche jamais aux variables booléennes, je n'ai même pas fait de tuto dessus, je sais pas ce que c'est ni à quoi ça sert :affraid:




:study:
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
ryf
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
ryf


Nombre de messages : 8

Age : 48

Localisation : Strasbourg (FRANCE)

Date d'inscription : 01/10/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 21:41

Shai-la a écrit:
Je ne touche jamais aux variables booléennes, je n'ai même pas fait de tuto dessus, je sais pas ce que c'est ni à quoi ça sert :affraid:




:study:

Les booléens sont très pratiques si tu veux faire un test sur quelque chose qui ne peut avoir que deux états (ouvert/fermé, présent/absent, gentil/méchant, etc....)
C'était surtout utile autrefois car en mémoire sa valeur ne prend qu'un bit, la valeur étant codée en 0 (false) ou 1 (true).
De nos jours ça peut être utile par exemplepour éviter de se gourrer sur une assignation de valeur à un variable (genre a=3 alors que seuls deux états a=0 et a=1 sont prévus par le script....)
Mais les "vrais" programmeurs en diront plus.

[SPECULATION]
Je ne me souviens plus, mais je crois qu'en plus on peut s'en servir comme un switch (à checker camarades programmeurs, moi là c'est de la spéculation...): si tu incrémentes la valeur d 'un booléen, il passe de 0 à 1, puis de 1 à 0, puis à 1 puis à 0.... (si ce n'est pas le cas, corrigez moi vite, mais ce serait dommage que ça ne fonctionne pas comme ça...)
[\SPECULATION]

_________________
@+
RyF
TheGameReaveR
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 21:55

Ah ça serait intéressant ça en effet... à condition de pouvoir incrémenter une variable booléenne ! lol

Je sais pas s'il y a beaucoup de compilateurs qui accepteront d'incrémenter une variable d'un type autre que numérique... enfin, après, si c'est prévu comme tu dis, ça doit être pris en charge ^^

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
ryf
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
ryf


Nombre de messages : 8

Age : 48

Localisation : Strasbourg (FRANCE)

Date d'inscription : 01/10/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptySam 21 Oct 2006 - 22:10

moui, tu as sans doute raison... J'ai toujours tendance à sur-estimer le pouvoir d'anticipation des gens qui créaient les languages =^__^=

_________________
@+
RyF
TheGameReaveR
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyDim 22 Oct 2006 - 7:15

J'aurais appris quelque chose aujourd'hui, merci RyF clin d'oeil
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Asraroth


Nombre de messages : 1468

Age : 49

Date d'inscription : 20/10/2006


Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! EmptyMer 22 Nov 2006 - 13:50

MarvinS a écrit:
Oui c'est vrai, je ne m'étais pas trompé clin d'oeil

Je viens de faire un test en tapant ce code :

Code:

int test = 1;
while (test ==1) {}


Et quand j'execute le script AGS me sort ce message :
Veut pô quitter! Agsbouclefb6

Pour eviter que cette erreur se produise, il y a le mot-cle "noloopcheck"...
Ca evite à AGS de controler si çà boucle + de 150.000 fois. Ca s'utilise comme çà :

Code:

function noloopcheck montest() {
  int test = 1;
  while (test ==1) {}
}

Je viens de tomber dessus par hazard en fouillant la doc AGS... Ca risque de pas servir souvent, mais bon... Ca existe sourire
Revenir en haut Aller en bas
https://gl0bul.itch.io/
Contenu sponsorisé





Veut pô quitter! Empty
MessageSujet: Re: Veut pô quitter!   Veut pô quitter! Empty

Revenir en haut Aller en bas
 
Veut pô quitter!
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: