ROUTE
nom_objet.champ_eventOut
TO
nom_objet.champ_eventIn
|
L'instruction ROUTE
... TO
permet de transmettre la valeur d'un champ de type eventOut
d'un objet à un champ eventIn d'un
autre (ou du même) objet. Pour pouvoir effectuer cette opération,
il est nécessaire d'avoir auparavant nommé l'objet émetteur
et l'objet récepteur à l'aide de l'instruction DEF.
Il est possible de rediriger un même événement
vers plusieurs récepteurs, et un même récepteur peut
recevoir des événements de plusieurs émetteurs. Il
est aussi possible de chaîner les événements en cascade.
Les champs exposedField
Compatibilité des données transmises
L'utilisation directe de l'instruction ROUTE
... TO pour transmettre une valeur d'un champ
à un autre implique que le type des données transmises soit
identiques au type des données du champ récepteur. Ainsi
un champ SFBool ne peut pas recevoir des données
de type SFFloat ...
Exemple:
Analyse:
Nous avons déclaré 3 objets : une lumière nommée
LUM, un cylindre nommé objet et un détecteur
cylindrique nommé capteur. Le détecteur capteur
permet de faire tourner le cylindre dès qu'on le manipule avec la
souris, mais lorsque l'on relâche le bouton de la souris, la lumière
s'éteint puisque l'état du détecteur est renvoyé
au champ on de cette lumière. La lumière
se rallume dès lors que l'on réactive le détecteur
en cliquant sur le cylindre.