Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Boutique Nike : -25% dès 50€ sur TOUT le site Nike avec le code ...
Voir le deal

 

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

Aller en bas 
3 participants
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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
http://instagram.com/ichefgeorges
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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 !

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


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

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


Nombre de messages : 1346

Date d'inscription : 10/05/2012


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

eAnywhere, pas eAnyware.

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


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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 confus

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
http://instagram.com/ichefgeorges
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


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

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

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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
http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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
http://instagram.com/ichefgeorges
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) Empty
MessageSujet: Re: [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)   [résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion) EmptyMar 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é.

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


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

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

Merci  sourire 
Revenir en haut Aller en bas
http://instagram.com/ichefgeorges
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
[résolu] Déplacement perso + clic souris sur axe x (Maniac Mansion)
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: