Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

 

 Un truc qui bloque tout

Aller en bas 
2 participants
AuteurMessage
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Un truc qui bloque tout Empty
MessageSujet: Un truc qui bloque tout   Un truc qui bloque tout EmptyMar 8 Fév 2022 - 15:47

Hello la compagnie !!coeur
Bon bah désolé de monopoliser le forum ces derniers jours mais décidément, je rencontre problème(s) sur problème(s)...

En ce moment, donc... Ce sont les dialogues...
J'ai testé le module NBD (plus moyen de le retrouver d'ailleurs...) mais cela ne me plaît pas, ça me paraît même bien trop compliqué et encombrant pour ce que je souhaite obtenir au bout du compte...

Bref... J'utilise donc les fonctions dialogues basiques et après deux aprem prise de tête jsuis enfin arrivé à configurer le truc sans que ça fasse nawak... j'ai réussi à bloquer le curseur (par ailleurs invisible dans ce cas précis) pendant les choix multiples au moyen d'un mouse.setbounds (); dont je n'ai pas vraiment trop compris le paramétrage mais ouf, je peux enfin sélectionner mes dialogues, chose que je n'arrivais pas à faire à cause du Parser qui chevauchait tout et m'empêchait de choisir cesdites options. Je l'ai donc foutu en dehors de la zone histoire qu'il ne m'embête plus. Par ailleurs, existe-t-il un moyen plus "propre" de l'ignorer? Au moyen d'un "Disable" par exemple ?...

Par contre, si juste avant le lancement des options de dialogues, je suis impatient et que j'appuie un peu trop rapidement (genre avec un doubleclic) sur ma souris, le jeu se bloque sur les options, sans possibilité de les choisir ensuite. Il ne reconnait même plus la touche echap qui me sert à quitter... il ne répond plus, quoi... Obligé de faire un ctrl alt suppr pour fermer le test !! uh

Donc voilà voilà... Je souhaiterais savoir ce qui ne va pas, et évidemment comment régler ce petit désagrément ma foi fort fâcheux...
Voici une capture de mon General Settings...

Un truc qui bloque tout Efnp

ainsi que le code relatif aux dialogues (pompé sur le manuel en français et adapté à ma sauce)
Code:

function dialog_options_get_dimensions(DialogOptionsRenderingInfo *info)
{
  // Crée une zone de dimensions 200x200 à la position (50,100) pour les options
  info.X = 320;
  info.Y = 890;
  info.Width = 1280;
  info.Height = 400;
  // Place l'analyseur de texte (parser) tout en bas (s'il est activé)
  info.ParserTextBoxX = 0;
  info.ParserTextBoxY = 800;
  info.ParserTextBoxWidth = 0;
}

function dialog_options_render(DialogOptionsRenderingInfo *info)
{
  // Remplit la zone en jaune
  info.Surface.Clear(0);
  int i = 1,  ypos = 8;
  // Affiche toutes les options disponibles
  while (i <= info.DialogToRender.OptionCount)
  {
    if (info.DialogToRender.GetOptionState(i) == eOptionOn)
    {
      if (info.ActiveOptionID == i) info.Surface.DrawingColor = 65522;
      else info.Surface.DrawingColor = 15615;
      info.Surface.DrawStringWrapped(5, ypos, info.Width - 950,
                         eFontFont0, eAlignLeft, info.DialogToRender.GetOptionText(i));
      ypos += GetTextHeight(info.DialogToRender.GetOptionText(i), eFontFont0, info.Width - 950);
    }
    i++;
  }
}

function dialog_options_get_active(DialogOptionsRenderingInfo *info)
{
  int i = 1,  ypos = 0;
  // Trouve l'option située où le joueur a cliqué
  while (i <= info.DialogToRender.OptionCount)
  {
    if (info.DialogToRender.GetOptionState(i) == eOptionOn)
    {
      ypos += GetTextHeight(info.DialogToRender.GetOptionText(i), eFontFont0, info.Width - 950);
      if ((mouse.y - info.Y) < ypos)
      {
        info.ActiveOptionID = i;
        return;
      }
    }
    i++;
  }
}

function dialog_options_mouse_click(DialogOptionsRenderingInfo *info, MouseButton button)
{
  
  mouse.EnableMode (eModeAller)// faites quelque chose ici si vous le voulez !
  mouse.SetBounds (1920, 870,  0, 0);
}

Si quelqu'un parmi vous sait où ça cloche... sourire
En vous remerciant...
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


Un truc qui bloque tout Empty
MessageSujet: Re: Un truc qui bloque tout   Un truc qui bloque tout EmptyMar 8 Fév 2022 - 17:07

Si j'en crois cette entrée, il y a une option à (dé)cocher pour chaque dialogue qui détermine si l'analyseur de texte doit ou non être affiché.

Difficile à dire d'où vient le problème du double-clic exactement, mais j'ai du mal à comprendre l'intérêt de ta fonction dialog_options_mouse_click : son code est exécuté lors d'un clic alors que le dialogue est affiché, mais que le curseur ne survole aucune option de dialogue. Ça veut dire que tu actives le mode eModeAller et tu restreins la zone de la souris à "rien" (=rends la souris inutilisable) uniquement si le joueur clique hors d'une option de dialogue alors que le dialogue est affiché
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Un truc qui bloque tout Empty
MessageSujet: Re: Un truc qui bloque tout   Un truc qui bloque tout EmptyMar 8 Fév 2022 - 17:41

Bon bah effectivement, Kitai, tu as encore vu très juste !...
C'est bien cette fonction qui produisait ce bug, et effectivement, elle ne servait à rien.
Revenir en haut Aller en bas
Contenu sponsorisé





Un truc qui bloque tout Empty
MessageSujet: Re: Un truc qui bloque tout   Un truc qui bloque tout Empty

Revenir en haut Aller en bas
 
Un truc qui bloque tout
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: