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

Partagez | 
 

 [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 10:39

Bonjour,

Mon jeu a un déplacement strictement sur l'axe x (un peu à la manière d'un Maniac Mansion). J'ai donc une WalkableAreas qui est une ligne sur le sol. Problème : il faut cliquer proche du sol pour faire le déplacement.

J'ai donc tenté dans le GlobalScript la chose suivante :

Code:
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  if (mouse.Mode == eModeWalkto)
  {
  ProcessClick(mouse.x,mouse.y, mouse.Mode);
  player.Walk (mouse.x, mouse.y, eNoBlock, eWalkableAreas);
  }

Mais ça ne marche pas... sauf si je mets eAnywhere, ce qui fait déplacer le perso n'importe où sourire

Merci d'avance pour les conseils clin d\\\\'oeil


Dernière édition par chefgeorges le Mar 11 Mar 2014 - 13:22, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 10:58

J'ai eu le même problème en codant Schrody the cat. Normalement, si on demande à un personnage de se déplacer en dehors d'une Walkable Area, il se rapproche le plus possible de la destination (mais en restant sur la Walkable Area). Mais ici, c'est probablement le fait de ne pas pouvoir changer de coordonnée y (dans le cas d'une Walkable Area d'un pixel de haut) qui bloque.

Quoi qu'il en soit c'est simple ! Tu veux que ton personnage se déplace dans l'axe x selon la position du curseur, mais ne change pas de coordonnée y. Tu peux donc faire la chose suivante :
Code:
player.Walk(mouse.x, player.y, eNoBlock, eAnyware)

Et même plus besoin de s'embarrasser avec les Walkable Area !

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 11:59

Ça semblait une bonne idée... sauf que ça marche pô perplexe
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 12:04

eAnywhere, pas eAnyware.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 12:11

rougit 
Je vais me cacher très loin ?

Nan mais c'est ça, quand y'a plus l'autocompletion aussi grand sourire

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 12:16

lol, désolé mais j'avais corrigé de moi-même le Anywhere clin d\\\\'oeil

Et je confirme que ça ne fonctionne pas du tout perplexe

je remets le code complet :
Code:
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  if (mouse.Mode == eModeWalkto)
  {
  ProcessClick(mouse.x,mouse.y, mouse.Mode);
  player.Walk (mouse.x, player.y, eNoBlock, eAnywhere);
  }

  if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
  {
  }
  else if (button == eMouseLeft)
  {
    ProcessClick(mouse.x,mouse.y, mouse.Mode);
  }
  else // right-click, so cycle cursor
  { 
    mouse.SelectNextMode();
  }
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 12:20

Quand tu dis "ça ne fonctionne pas", tu peux donner quelques précisions ?

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 12:26

Je veux dire que je suis toujours obligé de cliquer en étant proche de la WalkableArea pour que le personnage se déplace.

Par contre, je viens de constater que si je clique plus haut, il n'avance pas mais il se retourne tout de même.

EDIT :
 rougit En fait ça marche avec le clic droit !... Mais ça ne m’intéresse pas du tout. Je voudrais qu'il se déplace avec le clic gauche. Également le fait d'utiliser Anywhere va me causer des soucis, car j'ai restreint les WalkableAereas sur certaines scènes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 12:55

Nouveau code :
Code:
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  if (mouse.Mode == eModeWalkto)
  {
    player.Walk (mouse.x, player.y, eNoBlock, eWalkableAreas);
  }

  if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
  {
  }
  else if (button == eMouseLeft)
  {
    ProcessClick(mouse.x,mouse.y, mouse.Mode);
  }
  else // right-click, so cycle cursor
  { 
    mouse.SelectNextMode();
  }
}

Ça fonctionne aussi avec eWalkableAreas, par contre je cherche encore pour définir cette action uniquement avec le clic gauche.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 13:19

Ah oui évidemment, tu peux très bien garder eWalkableAreas, c'était un peu bête de ma part.

Pour rester sur le clic gauche, c'est facile, regarde ton code : rien ne restreint l'action de déplacement au seul bouton gauche. Du coup il faut faire comme ça :

Code:
       function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
        {
          
          if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
          {
          }
          else if (button == eMouseLeft)
          {
            ProcessClick(mouse.x,mouse.y, mouse.Mode);

            if (mouse.Mode == eModeWalkto)
               {
               player.Walk (mouse.x, player.y, eNoBlock, eWalkableAreas);
            }
        
         }
          else // right-click, so cycle cursor
          {
           mouse.SelectNextMode();
          }
        }

Ton code pour le déplacement est simplement rajouté au bloc "else if(button == eMouseLeft)"

Évite de copier directement mon code, je ne l'ai pas testé.

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Mar 11 Mar 2014 - 13:22

Super ! c'était tout bête, lol.

Merci  sourire 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Contenu sponsorisé




MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   Aujourd'hui à 17:17

Revenir en haut Aller en bas
 
[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)
» [Résolu] Renommer son perso sur MHFU?
» [résolu] Changement de perso (demande de conseils et astuces)
» [Résolu] Déplacement oreilles via Raw API Call
» [Résolu]A-RPG a la souris [HUD]

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: