Bienvenue à l'Ecole SL

"Découvrir, Faire, Créer..."

Accueil
Calendrier
Les Cours et Tutos
L'Equipe
Liste des matières
Forum
Contactez-nous
Liens utiles
Création d'un HUD
(Lancelot Joubert ~ Mardi 24 juin)
 
 
 
Tout d'abord, il vous faut créer une plaque de dimension 0.3 x 0.3 x 0.01, puis un bouton aux dimension 0.07 x 0.07 x 0.01.
Il est inutile pour l'instant de les lier, et encore moins de faire plusieurs boutons... vous verrez pourquoi par la suite)
 
 
 

LE SCRIPT

 

Le script s'envisage sous 2 axes : Comment lancer une animation (c'est le role de la plaque) et les spécifications de l'animation à lancer (c'est le role du bouton).


 

  • Lancer une animation.

Pour lancer une animation il faut utiliser llStartAnimation. Cette fonction ne peut être exécuté que si une permission d'animation a été acceptée. Ainsi pour que notre HUD fonctionne il faut en premier lieu demander la permission via llRequestPermission. Cette permission sera demandé dans le state entry pour être valable une bonne fois pour toute car seul le propriétaire utilisera le script.

 

 

default
{
     state_entry()
     {

          key avatar =llGetOwner();
          llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
     }
     link_message(integer sender_number, integer number, string message, key id)
     {
          llStartAnimation(message);
     }
}

(script de la plaque)

 


L'animation, quand à elle, devra être exécutée au déclenchement d'un bouton.

 

 

 

  • Les spécifications de l'animation

Il existe la possibilité de faire communiquer des scripts au sein d'un prim lié via llMessageLinked. Ainsi lorsque le bouton est "touché", se déclenche cette instruction.
Nous passerons en paramètre le nom de l'animation qui sera exécuté par l'événement linkmessage via un llStartAnimation
dans le paramètre message.
Pour des soucis de simplicité et de réutilisation du script du bouton, nous passerons en paramètre le nom du bouton, qui sera le nom de l'animation à jouer. Ainsi après duplication de l'ensemble des bouton il suffira simplement de les renommer.

 

 

default
{

     touch_start(integer total_number)
     {
          llMessageLinked(LINK_ROOT,0,llGetObjectName(),NULL_KEY);
     }
}

//LINK_ROOT envoie un message au prim maitre (= celui qui a été lié en dernier)
//LINK_ROOT peut être écrit 0 

 

(script du bouton)

 

 

A présent, vous n'avez plus qu'à dupliquer votre bouton autant de fois que désiré, et le renommer à chaque fois, du nom de l'animation choisie. (Lors du cours, nous avons travaillé avec les "emotes" que l'on trouve dans le Wiki).

Lier et le tout, et voilà! Vous avez un HUD rien qu'à vous... Il ne vous reste plus qu'à en personnaliser la texture en créant des boutons aquas.