Gumboy Débutant
Messages : 10 Localisation : Dijon
| Sujet: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 13: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
Dernière édition par Gumboy le Jeu 26 Jan 2017 - 15:54, édité 1 fois |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 14: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? |
|
Gumboy Débutant
Messages : 10 Localisation : Dijon
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 14:45 | |
| Salut 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 - 15:59, édité 1 fois |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 14:58 | |
| Mais le soucis est lié a la transition gamepad/clavier? Ou c'est vraiment juste la partie gamepad qui t’intéresse? |
|
Gumboy Débutant
Messages : 10 Localisation : Dijon
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 15: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). |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 15: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
|
|
Gumboy Débutant
Messages : 10 Localisation : Dijon
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 15: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é |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Probleme Gamepad Jeu 26 Jan 2017 - 16:07 | |
| C'est des choses qui arrivent :p |
|
Contenu sponsorisé
| Sujet: Re: [Résolu] Probleme Gamepad | |
| |
|