Code : Tout sélectionner
slots=gamepad_get_device_count();
for ( i=0 ; i < slots ; i++ )
{
pad_connected=gamepad_is_connected(i);
if ( pad_connected == 1 )
{
list_gamepad[i]=gamepad_get_description(i);
}
}
Bon voilà une partie de l'étape d'initialisation. Pour des raisons de test, je recommande de mettre ca sur une touche pour exécuter le script.
La première ligne sert à connaitre le nombre de port manettes dispos.
La boucle "for":
Je stocke dans la variable "pad_connected" le résultat de la fonction "gamepad_is_connected" avec l'argument "i" de la boucle "for". "i" est l'itérateur de la boucle "for" ( le compteur de tour de la boucle si tu préfères ) et il est restreint par la variable "slots".
Ensuite, je vérifie s'il y a un pad connecté avec la variable "pad_connected". Et si c'est le cas, je stock le nom du pad avec "gamepad_get_description(i)" dans un tableau appelé "list_gamepad[]"
Avec ca, tu n'as rien fait, juste vérifié ce qui est connecté ou pas. Et c'est très important de le faire. Beaucoup de mécanismes utilisent un système d'initialisation du genre plus ou moins complexe.
L'utilisation d'un tableau n'est pas approprié si tu veux utiliser ces résultats plus tard de manière sûre et confortable. Mais faut que j'apprenne dans un premier temps l'utilisation des maps.
Et va falloir que je me batte avec la doc... Sérieux, c'est vraiment la mouise ste doc...
En mode debug, tu peux ajouter des "watch". ( j'ai trouvé l'utilité des watch )
Amuse-toi a brancher plusieurs pad ou non, et dans watch, tu ajoutes :
(ID_objet).list_gamepad[0]
(ID_objet).list_gamepad[1]
(ID_objet).list_gamepad[2]
(ID_objet).list_gamepad[3]
Et regarde les valeurs changer. Tu peux ainsi tester si le branchement à chaud ou non de pad fonctionne aussi ( pas testé trop la galère ).
edit : pour les watch, respecte ABSOLUMENT les parenthèses.