Χρήση συμβάντων#
Αυτό το σεμινάριο καλύπτει τον τρόπο χρήσης συμβάντων στο VEXcode V5. Μέχρι το τέλος, θα ξέρετε πώς να μεταδώσετε ένα συμβάν και να έχετε μια άλλη στοίβα μπλοκ να ανταποκρίνεται σε αυτό.
Τα Συμβάντα επιτρέπουν σε ξεχωριστές στοίβες μπλοκ σε ένα έργο να επικοινωνούν μεταξύ τους, χρησιμοποιώντας μπλοκ από την κατηγορία Λογική - Συμβάντα. Τα μπλοκ των οποίων τα ονόματα αρχίζουν με μετάδοση σηματοδοτούν ότι έχει συμβεί ένα συμβάν και τα μπλοκ των οποίων τα ονόματα αρχίζουν με όταν εκτελούν τη συνδεδεμένη στοίβα μπλοκ σε απόκριση.
Προσθέστε ένα μπλοκ μετάδοσης ή ένα μπλοκ μετάδοσης και αναμονής στο έργο σας.
Επιλέξτε το αναπτυσσόμενο μενού στο μπλοκ μετάδοση για να επιλέξετε ένα υπάρχον συμβάν ή για να δημιουργήσετε, να μετονομάσετε ή να διαγράψετε ένα συμβάν.
Προσθέστε ένα μπλοκ όταν λαμβάνω στον χώρο εργασίας και ορίστε το αναπτυσσόμενο μενού του ώστε να ταιριάζει με το όνομα του συμβάντος που χρησιμοποιείται στο μπλοκ μετάδοσης. Στη συνέχεια, επισυνάψτε μπλοκ από κάτω, καθώς αυτά τα μπλοκ θα εκτελούνται κάθε φορά που μεταδίδεται το συγκεκριμένο συμβάν.
Μόλις ένα μπλοκ όταν λαμβάνω ταιριάζει με το όνομα συμβάντος που χρησιμοποιείται από ένα μπλοκ μετάδοσης, η εκτέλεση του έργου επιτρέπει και στις δύο στοίβες να εκτελούνται ταυτόχρονα. Για παράδειγμα, αυτό το έργο εκτελείται μέχρι να πατηθεί η οθόνη του Εγκεφάλου και, στη συνέχεια, μεταδίδει ένα συμβάν που σταματά το ρομπότ από το να κινηθεί.
when started
turn [right v]
wait until <screen pressed?>
broadcast [my_event v]
when I receive [my_event v]
stop driving
Τα μπλοκ που ξεκινούν με when μπορούν επίσης να βρεθούν συνδεδεμένα με αισθητήρες, εκτελώντας τα συνδεδεμένα μπλοκ τους όποτε πληρούται η συνθήκη αυτού του αισθητήρα. Για παράδειγμα, τα μπλοκ hat when Brain screen και when Bumper Switch.
when Brain screen [pressed v] :: hat events
when [BumperA v] [pressed v] :: hat events