AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 [Résolu] Probleme Gamepad

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Gumboy
Débutant
avatar

Messages : 10
Localisation : Dijon

MessageSujet: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 12:26

Bonjour,

Je suis en train de crée un jeu style rogue-like et je rencontre un soucis avec mon script de gamepad :

Code:
if (gamepad_is_connected(0)) {
    gamepad_set_axis_deadzone(0 ,0.35)
    xaxis = gamepad_axis_value(0, gp_axislh);
    yaxis = gamepad_axis_value(0, gp_axislv);
    xdir = gamepad_axis_value(0, gp_axisrh);
    ydir = gamepad_axis_value(0, gp_axisrv);

   if ((xdir != 0) || (ydir != 0))
            {rdir = point_direction(0,0, xdir, ydir); }
            else {
                if ((xaxis != 0) || (yaxis != 0))
                {rdir = point_direction(0,0, xaxis, yaxis);} else {rdir=270;}}
    
    touche_dash = gamepad_button_check_pressed(0,gp_shoulderl);
    touche_atq = gamepad_button_check_pressed(0,gp_shoulderr);

Alors, mon problème se situe lorsque qu'aucun des joystick n'est utilisé (le joystick de gauche contrôle le déplacement (xaxis/yaxis), et celui de droite la visé (xdir/ydir).

Dans mon script, si le joystick de gauche est le seul activé,  la rotation de mon sprite se fait selon sa direction, et si le joystick de droite est activer, il prend le dessus et controle la rotation de ce sprite.

Mais voila, imaginons que je relache le joystick de gauche d'une position (en haut pour l'exemple) la rotation du sprite se remet sur ma valeur "rdir" soit 270 (en bas) dans mon script.

Y-a t'il moyen de retourner l'ancienne valeur du joystick lors du relachement pour faire en sorte que si mon perso marche vers le haut et que je relache le joystick, la direction de base du joystick soit pointé vers le haut ?
Je n'arrive pas trouver cette petite partie de code pour mon "rdir" qui me pose problème...

Merci d'avance pour vos réponses Smile


Dernière édition par Gumboy le Jeu 26 Jan 2017 - 14:54, édité 1 fois
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 13:24

Salut,
ça donne quoi sans le "else {rdir=270;}" ?

T'as pensé a utiliser une variable pour mémoriser la direction qui t’intéresse sinon?

_________________
                 
Revenir en haut Aller en bas
Gumboy
Débutant
avatar

Messages : 10
Localisation : Dijon

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 13:45

Salut Smile

Alors sans le "else" il y a une erreur vu que le "rdir" est obligé d'avoir une valeur (vu que je peux switch entre clavier et manette, et qu'au clavier "rdir" est toujours actif avec un point_direction de la souris et sert a ma direction global).

A la manette, la valeur de l'axe x et y d'un joystick est = 0 quand il est relaché, donc vu qu'ici je le converti en point_direction, même relacher il me garde la direction "rdir".

Pour la variable, comment ça ?
Je n'arrive pas a voir comment je pourrais formuler ça et surtout sous quelles conditions :/




Dernière édition par Gumboy le Jeu 26 Jan 2017 - 14:59, édité 1 fois
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 13:58

Mais le soucis est lié a la transition gamepad/clavier?
Ou c'est vraiment juste la partie gamepad qui t’intéresse?

_________________
                 
Revenir en haut Aller en bas
Gumboy
Débutant
avatar

Messages : 10
Localisation : Dijon

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 14:14

Bah en fait le soucis est juste au niveau du gamepad étant donner qu'au clavier l'angle est toujours actif via la position de la souris, en gros mon script partage les deux système clavier/manette, mais a besoin d'être différent l'un de l'autre, car a la manette, "rdir" a besoin d'une valeur de base pour le relâchement du joystic.

D'où mon problème a faire en sorte que "rdir = ancienne position du joystick avant relâchement" et j'ai du mal a voir comment garder en mémoire une direction d'angle).
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 14:27

Un truc comme ça j'imagine:
Code:

si joystick gauche appuyé
  rdir = dir_gauche
  prev_dir = rdir
sinon si joystick droit appuyé
  rdir = dir_droite
  prev_dir = rdir
sinon
  rdir = prev_dir

_________________
                 
Revenir en haut Aller en bas
Gumboy
Débutant
avatar

Messages : 10
Localisation : Dijon

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 14:54

Han je suis vraiment bête enfait...

Enfait ton script m'a fait pensée que j'avais oublier de donner une valeur de base a rdir (alors que je le répétait si souvent dans mes posts ^^') et qu'il fallait juste que j'en donne une...

Tu avais raison, j'ai juste du enlever le "else" et rajouté la valeur de départ de rdir dans le create du sprite, je me suis embrouillé pour rien ^^' (enchaîner les heures de codage c'est mal ><)

Code:
  if ((xdir != 0) || (ydir != 0))
            {rdir = point_direction(0,0, xdir, ydir);
            } else {
                if ((xaxis != 0) || (yaxis != 0))
                {rdir = point_direction(0,0, xaxis, yaxis);}}

Merci en tout cas pour m'avoir guidé Smile
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Résolu] Probleme Gamepad   Jeu 26 Jan 2017 - 15:07

C'est des choses qui arrivent :p

_________________
                 
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: [Résolu] Probleme Gamepad   

Revenir en haut Aller en bas
 
[Résolu] Probleme Gamepad
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Probleme mise à jour Herdis 14
» [ résolu ]Probleme d'inscription via le Module Facebook
» probleme de sommeil
» probleme de dos,quelle echarpe choisir?
» il as tu un probleme avec le site......

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: