Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
function callback_joystick_0 (type, index, value) -- type (joystick, bouton), index (numéro du bouton), value (pressé : true, relâché: false)
if index == 13 then -- button index 13
if value == true then -- button pressed
fs2020_variable_write("L:S_FCU_EFIS1_LS", "Number", 1)
else -- button released
fs2020_variable_write("L:S_FCU_EFIS1_LS", "Number",2)
end -- if
end --if
end -- function
list = game_controller_list()
game_controller_add(list[0], callback_joystick_0)
Alors, voila une structure que je ne connaissais pas!...Mais on peut aussi définir la fonction appelée directement sans lui donner de nom (inline) comme cela:
La parenthèse fermante après le end (de la fonction inline) sert à fermer la fonction timer_startLua:timer_start(100, function () blabla.... end -- fonction )
Cette technique fait du code plus compact.
Par contre ton nouveau code, je l'ai compris en une fraction de seconde!...Lua:function callback_joystick_0 (type, index, value) -- type (joystick, bouton), index (numéro du bouton), value (pressé : true, relâché: false) if index == 13 then -- button index 13 if value == true then -- button pressed fs2020_variable_write("L:S_FCU_EFIS1_LS", "Number", 1) else -- button released fs2020_variable_write("L:S_FCU_EFIS1_LS", "Number",2) end end list = game_controller_list() game_controller_add(list[0], callback_joystick_0)
T'inquiètes Alain (comme dirait mon fils), c'est juste un extrait de mon code qui est bien plus long, donc il est possible qu'il manque un end dans l'extrait publié, mais le compilateur Lua JIT me l'aurait dit!Alors, voila une structure que je ne connaissais pas!...
En fait, je viens de la trouver dans leur doc lua.org :
Chapitre
6 – More about Functions
...
Je l'ai comprise... Mais, je ne suis pas prêt de l'utiliser!...
Cela rends le code peu lisible...
Bonjour, la maintenance applicative derrière...
Par contre ton nouveau code, je l'ai compris en une fraction de seconde!...
C'est la copie conforme de mes structures de développement.
Je peux même te proposer la petite amélioration suivante afin d'accélérer l'exécution de celui-ci...
-----
if index == 13 then -- button index 13
if value == true then -- button pressed
fs2020_variable_write("L:S_FCU_EFIS1_LS", "Number", 1)
do return end
else -- button released
fs2020_variable_write("L:S_FCU_EFIS1_LS", "Number",2)
do return end
end
end
-----
Le do return end va te permettre de sortir directement de la fonction sans avoir à évaluer le reste... COOL, n'est il pas!...
P.S. :
Vérifie, j'ai l'impression qu'il te manque un "end"...
Tu as deux "if" => Donc 2 "end"
+
La fermeture de "function" => Donc un autre "end"
The statement
function f () body end
Juste de la structure de contrôle... Pas de la fonction!...j'utilise elseif, ce qui veut dire que normalement le reste n'est pas évalué dès qu'un if est testé VRAI
j'essaierai à l'occasion, merci pour le tuyauJuste de la structure de contrôle... Pas de la fonction!...
Là, le "do return end" te fait sortir de la fonction directement. Sans évaluer le reste!...
Donc, comme tu viens de dire que tu n'avais pas mis tout ton code dans le message, ma proposition peut ne pas te convenir et planter la logique de ta fonction.