Gérer un RollOver en VRML

Pré requis : Utilisation de DEF et USE, ROUTE, TouchSensor, Script et Switch

Cet atelier vous propose d'enrichir l'interface de votre monde VRML en créant des RollOver. Le terme nous vient du monde du CD-Rom et plus récemment des sites web (via le javascript ou le DHTML). Le RollOver est le principe de changer quelque chose dans l'interface lorsque la souris de l'utilisateur passe sur un objet.

Sur les sites web ou des cd-roms, cette technique est souvent utilisée pour mettre en valeur les endroits cliquables (un changement de couleur lorsque la souris passe sur un bouton) ou pour ajouter des bulles d'aides.

Trois noeuds sont nécessaires au développement d'un RollOver :

  • Le TouchSensor : permet de récupérer le fait que le curseur de la souris se trouve ou pas sur un objet (propriété isOver)
  • Le Switch : permet de modifier en cours de route un objet d'une scène. Ce noeud permet de définir plusieurs objets et de choisir facilement lequel le viewer doit afficher à un moment donner.
  • Le Script : un petit script en java nous permet de piloter le Switch en fonction de la propriété isOver du TouchSensor

Changer l'objet lorsque la souris passe dessus

Le Switch définit deux objets différents, un cube et une sphere. Un Group est créé pour associé à ce Switch un TouchSensor
Ce TouchSensor va envoyer sa propritété isOver à notre script Java, cela va nous permettre de savoir si la souris se trouve sur l'objet ou pas
Notre script va se contenter de tester le isOver et de modifier l'objet affiché dans le Switch (propriété whichChoice)

Le tour est joué !

Voir le résultat - Voir la source

Exercice, afficher une bulle d'aide

Essayez de modifier cette scène. Plutot que de transformer le cube en sphère, essayez d'afficher un second objet (par exemple un texte) lorsque la souris passe sur votre sphère.

Voila le résultat :

Voir le résultat - Voir la source

Créer un PROTO à partir de cet exemple

Les Protos permettent de définir des objets paramètrables, afin qu'ils puissent être utilisés plusieurs fois dans la scène.

Nous avons repris l'exemple des bulles d'aides. Nous avons créé un PROTO avec deux paramètres :

  • objet : qui est l'objet sur lequel va passer la souris
  • Roll : qui est l'objet qui sera affiché lorsque la souris passera sur l'objet

Si vous comptez gérer plusieurs RollOver dans votre scène, l'intéret du PROTO est de simplifier votre fichier, en évitant de dupliquer unitilement du code VRML.

Voir le résultat - Voir la source

Amusez-vous bien !


 
18 internaute(s) sur Web3d-fr
Copyright Web3d-fr 2001-2004