Langage GAMIN
( Langage GAMIN du projet de Graphisme Programmable Animé Multimédia : texte simple interprété )
- ne pas confondre ce 'langage interprété' avec le langage utilisé pour coder les outils du Projet = JAVA
Aide en ligne
Voir :
Détails :
Définitions :
Structure d'une ligne d'un document_GAMIN
=
Xn: ... ! |
avec :
X = type de composant graphique.
n = numéro d'ordre des composants de ce type dans le groupe de composants
défini.
':' obligatoire
... = affectation de valeurs à des attributs de ce composant
'!' (peut exceptionnellement être omis) peut être remplacé par '#' si la
définition du composant n'est pas figée
Types de composants graphiques :
Notes :
- la syntaxe n'est pas
représentée ici de façon rigoureuse : ce tabeau devrait cependant en
permettre une approche rapide
- les tabulations, obligatoires,
sont représentées ici par 3 blancs
- l'ordre des attributs ne
compte pas (en principe ...)
- noter que la ligne définissant un composant graphique peut avoir
différentes syntaxes selon le choix des attributs
Catégorie |
Pré |
Type |
Syntaxe |
Exemples |
Remarques |
définir |
P |
Point |
P?:cc=.. p=..;.. |
P1:p=20.75;40.54 ! |
couleur "cc"non requise et en fait exceptionnelle |
D |
Droite |
D?:cc=.. cf=.. p1=.. p2=.. |
|
* p1 et p2 = 2 points |
|
R |
Rectangle |
R?:cc=.. cf=.. c=.. dm=.. |
R1:c=P2 dm=30;40 cc=vert
cf=111,111,111,0.5,Ss # |
* syntaxe similaire à Ellipse |
|
E |
Ellipse |
E?:cc=.. cf=.. p=.. c=.. |
E1:c=P2 dm=30;40 cc=vert
cf=111,111,111,0.5,Ss # |
+ toutes combinaisons des éléments de syntaxe ... |
|
C |
Croisements |
C?:Dn*Dm |
C1:D1*D4 |
* ordre à respecter : |
|
G |
Courbe |
G?:cc= cf= pts=... \ |
G1: cc=0,170,140 pts=_P1.x;219!
e-18!w72!_P1.y;101| \ |
voir précisions ! |
|
T |
Texte |
T?:p=.. cc=.. cf=.. sty=.. d=.. t= |
T1:p=50;50 cf=200,200,200,0.4,Ss sty=gras d=36 t=Animal ! |
|
|
I |
Image |
I?:p=... I= |
I2:p=450;0 I=spires.jpg ! |
charger l'image en début de document |
|
S |
Son |
S?:s=... |
|
ou musique ! |
|
|
|
|
|
|
|
interagir |
A |
Ascenceur |
A?:p=.. t=... bo=... va=.. |
A1:p=50;500 t=400 bo=40;800 va=200 ! |
pas plus de 2 actuellement ! |
|
|
|
|
|
|
|
|
|
|
|
|
animer |
Proc |
Process |
Proc?:tempo=.. nb=.. rep=.. ! |
Proc2:tempo=100 nb=50 rep=3 ! |
|
Tp |
Tempos |
Tp?:t=.. ! |
Tp1:t=2_12;23;27_40 ! |
= plages de périodes séparées par ';' |
|
M |
Métr. |
M?:dx=.. dy=... ! |
M1:pr=800 dx=4 dy=-2 ! |
* a=angle |
|
tm |
tu meus |
{_tm.=M?;Tp?} |
{_tm1=M1;Tp1} |
voir précisions ! |
|
organiser |
GRP |
Groupe |
GRP?:Clone(..) ,xx=.. , yy=... |
GRP2: Clone(GRP1) , $V3.v=$V3+72 ,# |
|
Clq |
|
|
|
* en cours |
|
$V |
Variable |
$V?: type=truc(..,. . . ) # |
$V1: type=nombre(0,0,16) # |
|
|
$n |
param. |
$0 .à..$9 |
D4:p1=$1<-10>;$2<-20> p2=$3<-8>;$4<80~200> # |
* pour création ligne en cours |
|
CMD |
primitive |
CMD: !... |
CMD: !=> // Feuille1 |
|
|
test |
CMD?: #-> ?=<test_au_debut> |
CMD1: #-> ?=(OUI) # |
* séquence de lignes conditionnelle |
||
instruction |
CMD?: # . . . [ !>>] ; . . .# |
CMD3: # $V1.Plus(1) !>> ;# |
* subtilité à maîtriser = "!>> " |
||
dessin |
CMD?: @ GRP?[..] ;# |
CMD6: @ GRP2[0_] ;# |
* dessiner la table d'un composant graphique (ou les cases de plages d'indices) |
||
option |
CMD?: #$ truc=... |
CMD5: #$ COLOdessin = c:40,40,50 |
|
Elément de |
"Peinture" |
Syntaxe |
Exemples |
Remarques |
voir: P,D,R,E |
Couleur de contour |
cc= |
cc=vert |
|
Couleur de fond |
cf= |
cf=111,111,111,0.5,Ss |
|
|
Image de fond |
if= |
if=mon_image.jpg |
|
|
Pointillés & épaisseur de trait |
sk=... |
sk=2.5,CAP_ROUND,JOIN_ROUND,1,[1,9],0 |
|
*
Elément de |
animer par "SYNTAX_ANIM_ATTRIB" |
Syntaxe |
Exemples |
Remarques |
potentiellement |
animer un attribut |
attribut=valeur{_tm?=M?;Tp?} |
"p=12;16{_tm1=M1;Tp1}" |
|
|
attribut=valeur{!tm?=M?;Tp?} |
"p=12;16{!tm1=M1;Tp1}" |
|
|
|
|
|
|
|
|
|
|
|