[Up][Previous][Next][Top] [Version PDF]

7-7 Animations à destination variable

Dans les deux types d'animation que vous avez utilisées, l'objet se déplace systématiquement jusqu'au bout de sa trajectoire. Les deux types d'animation suivants, 'to calculated point on line' et 'to calculated point on path', vous permettent d'arrêter l'objet sur une position intermédiaire en fonction de la valeur d'une variable. Par exemple, si le point initial de la trajectoire vaut 0 et le point final vaut 100, et si la variable de positionnement vaut 66, l'objet s'arrêtera après avoir parcouru deux tiers du chemin.

Pour permettre à Authorware d'interpoler la position de l'objet entre les deux extrêmes, vous devez fournir trois valeurs numériques: le nombre correspondant au point de départ ('base'), au point d'arrivée ('end') et enfin la variable dont la valeur sera utilisée pour calculer la position intermédiaire. Pour éditer la trajectoire, cliquez d'abord sur le bouton-radio 'base', déplacez l'objet à son point de départ, ensuite cliquez sur le bouton-radio 'end' et déplacez l'objet à son point terminal. Par exemple, pour représenter une horloge sur laquelle un petit point se déplace, vous créez une trajectoire circulaire dont la base vaut 0 et la fin 12 et dont la position est déterminée par la variable-système 'hour'.

Véhicule sur dents de scie

Créez une animation sur une trajectoire en dent de scie sur laquelle se déplace un véhicule quelconque. Deux boutons sont présentés à l'utilisateur: 'avancer vers la droite' et 'avancer vers la gauche'. L'objet se déplace dans la direction choisie sur une distance équivalente à 10% de la trajectoire totale. Ensuite, l'utilisateur peut presser à nouveau un bouton et ainsi de suite. Désactivez le bouton 'vers la droite' lorsque le véhicule atteint l'extrémité droite de la trajectoire, faites de même pour le bouton et l'extrémité de gauche.

Dans l'exercice See Véhicule sur dents de scie, en désactivant les boutons, vous empêchez la variable 'position' de prendre une valeur en dehors de l'intervalle 0-10. Ce n'est pas toujours possible. Que se passe-t-il si la variable prend une valeur de dehors de l'intervalle numérique défini? Pour reprendre l'exemple ci-dessus, si la variable 'hour' vaut 15, le curseur se déplacera jusqu'à la position 12 et s'arrêtera donc au bout de la trajectoire. Par contre, si vous sélectionnez l'option 'loop', il s'arrêtera à la position 3. Le curseur ne fait pas tout le tour de l'horloge, mais simplement un déplacement identique à celui qu'il aurait effectué si 'hour' eut valu 3. Il se serait également arrêté à 3 pour les valeurs 27, 39,... Bref, il remplace la valeur N par N 'modulo 12'. Dans le cas d'une trajectoire en ligne droite, vous disposez des mêmes options 'loop' et 'stop at ends', et d'une option supplémentaire: 'go past ends'. Dans ce dernier cas, si la valeur sort de l'intervalle fixé, Authorware extrapole la position de l'objet en respectant l'axe de la trajectoire défini par l'auteur.

Curseur et cercle

Dessinez un cercle sur lequel l'utilisateur déplace un curseur au moyen des boutons '<', '<<', '>', '>>'. Ces boutons déplacent le curseur de 10% et 30% de la trajectoire, soit dans le sens des aiguilles d'une montre, soit dans le sens opposé. Lorsque le curseur aboutit à un extrémité de la boucle, il continue au-delà de celle-ci. Réglez la vitesse sur 'time: 1 second'.

En réalisant l'See Curseur et cercle, vous avez constaté que lorsque l'objet est positionné par exemple au 95% de sa trajectoire et doit se rendre au point 5% (ou - ce qui est équivalent au 105% en mode 'loop'), il revient en arrière sur la trajectoire. Vous ne pouvez modifier cela.

Toujours à propos de l'See Curseur et cercle, vous avez probablement aussi constaté que la vitesse de l'objet n'était pas la même lorsque vous pressiez sur '>' ou '>>'. En effet, il doit parcourir 10% de la trajectoire dans le premier cas et 30% dans le second, alors que la durée est la même. A durée égale, le déplacement sera d'autant plus rapide que la distance est longue. Si vous voulez assurer que les déplacements se fassent tous à le même vitesse, définissez une vitesse absolue au moyen de l'option 'speed'. Inversement, si vous désirez garantir que tous les déplacements se produisent dans la même durée, fixez une durée absolue (option 'time').