Accueil Date de création : 08/06/07 Dernière mise à jour : 28/01/10 21:47 / 17 articles publiés
 

Tutorial 1  posté le vendredi 08 juin 2007 14:12

 

Je pars du principe que vous ne connaissez rien en programmation et encore moins en LSL. Je vais donc vous prendre par la main pour vous faire visiter ce langage et vous donner envie de réaliser de grandes choses avec lui ! Mais dans un premier temps nous allons nous consacrer à des choses super simples. Il est de tradition dans l’apprentissage des langages de programmation de commencer avec un programme tout simple qui se contente de dire « Hello World ! ». La version adaptée pour Second Life dit simplement « Hello Avatar ! » dans la fenêtre du Chat de SL. Je vais me plier à cette tradition et vous proposer votre premier script :

default
{
    state_entry()
    {
        llSay(0, "Salut, Avatar!");
    }
}

Juste quelques lignes mais déjà une foule de choses à expliquer. La ligne :

l
lSay(0, "Salut, Avatar!");

correspond à une instruction du langage. C’est l’élément principal de notre script. Remarquez que cette instruction se termine par un point-virgule. Voilà une chose qu’il faut bien retenir parce que c’est ce qu’on oublie toujours. Cette instruction contient une fonction, il s’agit de llSay. Une fonction correspond à une action à effectuer. Tous les noms de fonctions dans LSL commencent par ll. Vous pouvez trouver toutes les fonctions de LSL classées par catégories dans le wiki à cette adresse :


http://www.lslwiki.net/lslwiki/wakka.php?wakka=functions


Une fonction est constituée d’un nom et de paramètres entre parenthèses, séparés par des virgules. Dans le cas de llSay vous constatez qu’il y a deux paramètres. Pour avoir le détail de ces paramètres et des exemples d’utilisation le wiki est encore indispensable. Regardez la page consacrée à llSay :


http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSay


La première ligne de cette aide vous donne la syntaxe précise de la fonction :


llSay(integer channel, string text)


Vous avez deux paramètres nommés channel et text. Le premier est un entier (integer) et le second du texte (string). Nous reviendrons sur ces types de données plus tard. Retenez juste qu’il existe plusieurs types de données comme des nombres ou du texte. Dans notre script nous avons attribué la valeur 0 au premier paramètre et « Hello Avatar ! » au second. Vous avez compris que les paramètres servent à passer des valeurs aux fonctions. La fonction llSay, comme son nom l’indique, sert à dire quelque chose (anglais say). Le deuxième paramètre nous permet de transmettre le texte. Remarquez qu’il figure entre guillemets pour signifier qu’il s’agit de texte. Le premier paramètre sert à dire où nous voulons que ce texte s’affiche, dans quel canal du Chat. La valeur 0 indique l’affichage général, ce qui veut dire que tous les avatars pourront le lire. Les autres valeurs de canal servent à des communications privées. Si vous lisez attentivement la documentation du wiki vous pourrez constater qu’on aurait pu écrire :


llSay
(PUBLIC_CHANNEL, "Salut, Avatar!");


Nous obtiendrions le même résultat. PUBLIC_CHANNEL est une constante qui vaut 0. Il existe un certain nombre de constantes dans LSL.


Un élément important à prendre en compte est que SL a été créé par des américains et que la langue anglaise ne comporte aucun accent. Si vous essayez d’en placer un dans le paramètre de llSay vous obtenez une erreur.


Voyons maintenant un peu le reste du code. « default » est ce qu’on appelle un état dans LSL (state). Cette notion d’état n’est pas évidente à comprendre à priori, surtout dans un code qui ne comporte qu’un état ! Imaginez une porte, elle peut être ouvert ou fermée, c’est-à-dire qu’elle peut adopter deux états. Dans le code de LSL c’est un peu pareil, il y a des états. Ici c’est l’état par défaut qui est celui qui correspond à l’initialisation du code. Ce qui veut dire qu’au départ le code qui est dans cet état est exécuté. Remarquez la présence d’accolades ouvertes et fermées. Elles servent à limiter un bloc de code, c’est-à-dire un jeu d’instructions qui appartiennent à un même ensemble. Les tabulations permettent de bien distinguer les accolades imbriquées. Tout notre code fait partie de l’état « default », il est inclus entre la première accolade ouverte et la dernière accolade fermée. Dans cet état nous avons state_entry() qui est encore une autre catégorie, c’est un événement. A l’inverse d’une fonction ou le code commande l’exécution de quelque chose, l’événement attend qu’il se passe quelque chose.Je reviens à mon histoire de porte. Elle peur avoir deux états ; ouvert et fermé. On peut imaginer deux fonctions : ouvrir et fermer. On peut aussi imaginer deux événements : la porte s’ouvre, la porte se ferme. Il est important de bien distinguer ces catégories. Le deuxième tutorial sera d’ailleurs consacré à une porte ! L’événement state_entry() est celui qui correspond au lancement initial du code. Il ne survient donc qu’une seule fois, au démarrage. Il sert en général à faire des initialisations. Entraînez vous à utiliser l’éditeur de SL pour faire tourner ce programme et aussi l’éditeur LSLEditor qui vaut vraiment la peine qu’on l’utilise.

lien permanent

Les outils pour LSL  posté le vendredi 08 juin 2007 14:10

L'éditeur intégré à second life pour les scripts est plutôt bien fait mais je lui reproche quand même une taille de caractères un peu petite pour mes yeux fatigués pas des années d’écrans et l’impossibilité de régler ce paramètre. C’est pour cette raison que je préfère utiliser un outil externe. On a le choix au niveau des éditeurs de texte mais il existe un éditeur spécialement dédié à LSL. Vous le trouvez à cette adresse :

http://www.lsleditor.org/

Il sait faire la colorisation de la syntaxe, la complétion de code, et en plus on peut exécuter les scripts avec des options de déboguage. Donc pas besoin de chercher ailleurs avec des éditeurs exotiques qui ne vous donneront rien de mieux. Il est léger, rapide, mis à jour régulièrement, et vous donne accès directement au wiki dans un écran d’aide. Pour ceux qui ignorent ce qu’est un wiki je les renvoie à cet excellent article de wikipedia :

http://fr.wikipedia.org/wiki/Wiki

Quant au wiki de LSL vous le trouvez ici :

http://www.lslwiki.net/lslwiki/wakka.php?wakka=HomePage

C’est un peu le centre névralgique de LSL. Vous y trouvez des tutoriaux, des exemples, toute la syntaxe et bien d’autres choses que je vous laisse découvrir. Le tout dans la langue savoureuse (pour ceux qui aiment) de Shakespeare.

Il existe bien d’autres ressources sur la toile avec des contributions diverses mais dans un premier temps je ne veux pas vous perdre dans ce fouillis. Je veux vous amener progressivement à l’utilisation de LSL alors pas la peine de se perdre tout de suite. Notre prochaine étape sera un premier script…
lien permanent



 

fermer la barre

Vous devez être connecté pour écrire un message à lsl

Vous devez être connecté pour ajouter lsl à vos amis

 
Créer un blog