Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 Veut pô quitter!

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1015

Age : 33

Localisation : Finistère

Date d'inscription : 19/09/2006


MessageSujet: Veut pô quitter!   Jeu 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
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5500

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1015

Age : 33

Localisation : Finistère

Date d'inscription : 19/09/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1431

Age : 42

Date d'inscription : 20/10/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 76

Age : 40

Date d'inscription : 18/09/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5500

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
Kromagnon
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1015

Age : 33

Localisation : Finistère

Date d'inscription : 19/09/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2534

Date d'inscription : 01/08/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur 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
avatar

Nombre de messages : 1015

Age : 33

Localisation : Finistère

Date d'inscription : 19/09/2006


MessageSujet: Re: Veut pô quitter!   Ven 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
Voir le profil de l'utilisateur
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 76

Age : 40

Date d'inscription : 18/09/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5500

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 76

Age : 40

Date d'inscription : 18/09/2006


MessageSujet: Re: Veut pô quitter!   Sam 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 :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2534

Date d'inscription : 01/08/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur 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
avatar

Nombre de messages : 5500

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
ryf
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 8

Age : 41

Localisation : Strasbourg (FRANCE)

Date d'inscription : 01/10/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2534

Date d'inscription : 01/08/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur 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 ?
avatar

Nombre de messages : 8

Age : 41

Localisation : Strasbourg (FRANCE)

Date d'inscription : 01/10/2006


MessageSujet: Re: Veut pô quitter!   Sam 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
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5500

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


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

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

Nombre de messages : 1431

Age : 42

Date d'inscription : 20/10/2006


MessageSujet: Re: Veut pô quitter!   Mer 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 :

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
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Veut pô quitter!   

Revenir en haut Aller en bas
 
Veut pô quitter!
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Veut pô quitter!
» qu'est ce que ca veut dire ?
» Qu'EST-CE QUE CA VEUT DIRE
» QUI VEUT GAGNER DES KAMAS ?!?
» Mon ordinateur ne veut pas ouvrir la page http://192.168.0.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: