| Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées | ||||||
![]() |
| Cet article fait partie de la série Langages de programmation |
| Langages orientés objet |
| Ada 95 - C++ - C# Common lisp object system Delphi - Eiffel - Java - Nice |
| Langages impératifs |
| APL - ASP Assembleur BASIC - C - Pascal Perl - PHP - Python |
| Langages fonctionnels |
| ML/OCaml
- Lisp/Common Lisp Forth - Logo - Scheme |
| Langages déclaratifs |
| Clips - Prolog |
| Voir aussi |
| Conception - Codage Tests - Optimisations |
Lingo est le langage de programmation qui accompagne le logiciel Macromedia Director.
| Sommaire |
Le mot Lingo signifie en anglais argot, au sens de langage vernaculaire, langue spécialisée appartenant à un groupe précis (ex. l'argot des typographes).
La syntaxe du Lingo est très simple et très lisible, elle rappelle (de loin) le Basic ou le Pascal.
Voici un exemple de fonction :
on multiplie(a,b) return a*b end multiplie
Les fonctions commencent en effet toutes par on [nom de fonction][(arguments)] et se terminent par end [nom de fonction]. Lingo est un langage très laxiste, on est par exemple autorisé à ne pas mettre les parenthèses après le nom de la fonction (on multiplie a, b).
À noter, les variables sont typées dynamiquement et il n'existe pas de différencitaion entre le "=" d'afectation et le "=" de comparaison.
if a=1 then b=2 else if a="une chaîne" then b=3 end if end if
Après des années d'évolution syntaxique, Lingo est devenu un langage "pointé" assez classique et, donc, très lisible.
Director est un logiciel dédié à l'interactivité. Par conséquent Lingo permet l'interception facile d'un grand nombre
d'évènements tels que : preparemovie (avant l'affichage), startmovie (au moment de l'affichage), mousedown (clic maintenu),
mouseup (clic relâché), etc. Certains scripts intercepteurs évènements concernent l'ensemble du programme, d'autres peuvent ne
s'appliquer qu'à des objets précis, comme les sprites (occurrence d'un objet - par exemple graphique - sur la
scène).
on mouseup -- lorsque l'on clique sur l'objet auquel s'applique ce scipt'' if the mouseh<320 then -- si la position horizontale de la souris est inférieure à 320 puppetsound(1, "bing") -- on déclenche le son nommé "bing" sur la piste 1. end if end
Lingo permet de manipuler des variables de coordonnées telles que les points, les rects et les quads.
l'intérêt de ce genre de variables est que Lingo propose des fonctions prédéfinies permettant par exemple de savoir si un point donné est inclus dans un rectangle donné. Par ailleurs, on peut appliquer des opérations arithmétiques à ces variables. Exemple : point(10,10)+point(5,5) donnera : point(15,15)
Il existe en fait trois types de scripts en Lingo (et c'est une source potentielle d'erreurs), qui prédéterminent l'utilisation qui pourra être faite desdits scripts :
property pNombre -- déclaration d'une variable interne à l'objet on new me, n pNombre = n return me end on incremente me pNombre = pNombre +1 end
Si ce script se nomme "nombre", on l'instanciera par exemple de cette manière :
monNouveauNombre = new(script "nombre", 10)
et on invoquera sa fonction "incremente" de cette manière :
monNouveauNombre.incremente()
Le Lingo est un langage propriétaire, il n'en existe donc qu'une seule implantation.
Dans sa version MX2004, le logiciel Director accepte l'usage de deux langages différents : le Lingo, et une implémentation de Javascript/Ecmascript adaptée. On peut imaginer, à terme, que Lingo disparaîtra.


