Siūlai#
Įvadas#
Gijos leidžia „VEX AIR“ drono valdikliui vienu metu vykdyti kelias užduotis toje pačioje programoje. Jos įgalina daugiaprogramį veikimą, leisdamos „VEX AIR“ dronui atlikti nepriklausomus veiksmus tuo pačiu metu.
Pastaba: Norėdami naudoti funkciją su gijos, turite pirmiausia apibrėžti ją.
Konstruktorius – Kurkite ir pradėkite naujas gijas.
Threadgijos – Pradeda naują giją, kuri vykdo nurodytą funkciją lygiagrečiai su pagrindine programa.
Konstruktorius#
Thread#
Thread gija sukuria ir pradeda giją. Sukūrę giją, galite ją pavadinti, kad sustabdytumėte ją, kai jos nebereikės.
Naudojimas:
my_thread = Thread(my_function)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Naujo siūlelio pavadinimas. |
|
Anksčiau apibrėžtos funkcijos pavadinimas. |
Pastaba: Funkcija visada turi būti apibrėžta prieš ją iškviečiant.
# Only play sounds when the drone moves laterally
def moving_sounds():
while True:
if drone.is_move_active():
controller.sound.play(LOOPING)
while controller.sound.is_active():
wait(50, MSEC)
wait(5, MSEC)
# Run moving_sounds at the same time
moving_sounds_thread = Thread(moving_sounds)
# Fly the drone using the controller
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)