|
Animation : marche / arrêt en 3D
![]() Ce didacticiel se propose de montrer comment faire basculer un Noeud Anim de marche à arrêt et retour par un clic sur l'objet en utilisant un TouchSensor avec cette simple ligne de script : spin.pause = spin.play Ce même didacticiel montre comment provoquer la rotation d'un objet avec une ligne de scipt aussi simple que ceci : p.rotation = Rotation(0, 0, 1, PI * 2 * v) Toutefois, nous aurons le plus souvent déjà créé une animation avec le Noeud Anim, de sorte que seule la première ligne devra en réalité être ajoutée, et c'est donc sur ce point que l'on va insister avec l'opération 7 : Add toggle script (ajouter un script de bascule). Pour plus de sûreté les deux lignes de script peuvent être copiées collées à partir du présent didacticiel à l'aide du raccourci clavier habituel (Ctrl V) vers un Noeud Seamless CodeLine (ligne de code). Toutefois si notre Noeud Anim porte un autre nom que "spin" (tourner) il faut remplacer "spin" par le nom déjà donné au Noeud Anim. Les lignes de script ne sont pas traitées (compilées) avant que la clé Entrée ne soit pressée (ou qu'un autre Noeud et/ou une autre fenêtre ne soit choisie). Une ligne de code compilée avec succès apparaît en couleurs. Begin (Commencer) Lancer la demo robotisée en déplaçant le curseur en haut et à gauche de l'écran (stricto sensu, de la fenêtre 3d) et choisir switch anim in 3d demo (démonstration de mise en marche/arrêt de l'animation 3d) comme ceci :
Tous les titres des opérations de la demo robotisée seront présentés ici en gras avec le numéro de l'opération suivi du titre lui-même. Les opérations de ce didacticiel vont de 0 à 8 seulement. Les opérations 9 et suivantes concerneront des didacticiels complémentaires plus détaillés. 0. Create a new Seamless file (Créer un nouveau fichier Seamless)
Cliquer le bouton
1. Build a box (Construire un cube)
Dès que le Noeud
2. Add Anim node (Ajouter un Noeud Anim)
Un Noeud Anim
3. Add Function for Anim (Ajouter une fonction pour l'animation)
La fonction onFrame
est ajoutée au Noeud Anim 4. Add spin script (Ajouter un script de rotation)
Un Noeud CodeLine p.rotation = Rotation(0, 0, 1, PI * 2 * v)
est entrée dans le Noeud CodeLine Il n'est pas nécessaire de comprendre comment cette ligne de code fonctionne, si l'on accepte qu'elle suffit à provoquer la rotation de la Partie nommée "p". Notre ligne entraîne la rotation selon l'axe Z, mais on peut spécifier n'importe quel autre axe pour la Rotation, par exemple :
Pour l'axe X :
Pour l'axe Y :
Pour l'axe Z : 5. Add TouchSensor (Ajouter un TouchSensor)
Un Noeud TouchSensor
6. Add Function for TouchSensor (Ajouter une fonction au TouchSensor) La fonction onTouchTime (à l'instant du contact) est ajoutée au TouchSensor. Cette fonction exécute son script dès que le cube est cliqué. 7. Add toggle script (Ajouter le script de la bascule)
Un Noeud CodeLine
spin.pause = spin.play
est entrée dans le Noeud CodeLine
Cette simple ligne de script est si simple que n'importe qui la comprendrait,
quel que soit son niveau en matière de programmation. Note du Traducteur : c'est toujours ce qu'on imagine quand on a soi-même un bon niveau. Comprendre cette ligne de code "script" est une chose, savoir l'écrire, une autre. Si vous ne comprenez pas, ça ne fait rien, mais contentez vous de recopier sans rien changer et tout ira bien. Fin de note. "spin" désigne ici notre Noeud Anim, ce qui fait que, quel que soit le nom qu'on lui a donné, nous devons le reproduire à cette place.
Nous savons qu'en utilisant la barre d'animation nous pouvons directement faire
une pause (pause) ou resume (reprendre) en utilisant
le bouton
Le bouton play est toujours dans l'état logique opposé au bouton pause. C'est à dire que quand l'animation fonctionne, le bouton play est rouge (true, vrai) et le bouton pause est noir (false, faux). En revanche, uand le bouton pause est rouge (true, vrai) le bouton play est noir (false, faux). C'est pourquoi écrire pause = play dans notre script crée un bouton à bascule (il intervertit vrai et faux). 8. Click box to switch off & on (Cliquer le cube pour basculer en marche / arrêt) Afin d'éprouver notre théorie, cliquons le cube pour lancer l'animation en marche / arrêt. Ceci met un point final au fonctionnement de notre animation 3d marche / arrêt. On peut appliquer cette simple ligne de script à n'importe quel objet géométrique que nous aurions fabriqué, et obtenir le même résultat. Pour voir comment utiliser une instruction "if" (si) avec facilité, se reporter aux deux didacticiels annexes suivants : Lancer l'animation pour un nombre défini de cycles
|