Outils du site


script:crayon

Le crayon

Cette page présente toutes les possibilités d'actions du crayon dans un script Instrumenpoche. Ce sont les nœuds XML de la forme :

<action objet="crayon" mouvement="..." ... />

Déplacement, apparition

Comme tous les instruments, le crayon peut être masqué avec :

<action objet="crayon" mouvement="masquer" />

Il est montré avec :

<action objet="crayon" mouvement="montrer" />

Il est possible de faire apparaître le crayon à un autre endroit de la scène que celui qui est prévu par défaut en précisant les coordonnées de cet endroit, par exemple :

<action objet="crayon" mouvement="montrer" abscisse="200" ordonnee="350" />

Les coordonnées du crayon sont celles de l'extrémité de sa mine.

Le crayon peut être déplacé jusqu'à un point en utilisant :

<action objet="crayon" mouvement="translation" abscisse="200" ordonnee="350" />

Un attribut vitesse peut être précisé, il donne le nombre de pixels de déplacement du crayon par dixième de seconde. La valeur par défaut est 8.

<action objet="crayon" mouvement="translation" abscisse="200" ordonnee="350" vitesse="10" />

Il peut également pivoter autour de sa mine :

<action objet="crayon" mouvement="rotation" angle="90" sens="-5" />

L'attribut sens est similaire à l'attribut vitesse pour une translation. Cependant, sens peut être négatif. Une valeur positive permet de faire pivoter le crayon dans le sens des aiguilles d'une montre, une valeur négative dans l'autre sens. La valeur absolue de sens indique le nombre de degrés dont le crayon pivote à chaque dixième de seconde. L'attribut angle donne l'angle que va faire le crayon avec l'horizontale à la fin de sa rotation.

Si un point a été créé auparavant, le crayon peut être déplacé jusqu'à ce point en utilisant l'attribut cible qui devra être égal à l'id du point voulu.

Exemple

<?xml version="1.0" encoding="UTF-8"?>
<INSTRUMENPOCHE version="2">
<action ordonnee="243.5" abscisse="292.8" couleur="noir" 
    id="1" mouvement="creer" objet="point" />
<action mouvement="montrer" objet="crayon" />
<action cible="1" mouvement="translation" objet="crayon" />
</INSTRUMENPOCHE>

Tracer

En plus des attributs objet et mouvement, tout tracé doit contenir un attribut id dont la valeur est unique. C'est cette valeur qui permet à Instrumenpoche d'identifier le tracé. Si, par exemple, on trace un trait avec un id égal 7 puis, plus tard, un autre trait avec le même id, le deuxième trait effacera le premier. En cas d'absence d'identifiant, Instrumenpoche affichera des messages d'erreurs lors de la lecture et, ne pouvant identifier les traits correctement, risque d'en effacer certains en en traçant d'autres.

Le crayon trace un segment depuis sa position actuelle avec :

<action objet="crayon" mouvement="tracer" id="1" abscisse="200" ordonnee="350" />

Par exemple, pour tracer un segment au crayon depuis le point de coordonnées (100 ; 150) jusqu'à (200;350), il faut écrire :

<action objet="crayon" mouvement="translation" abscisse="100" ordonnee="150" />
<action objet="crayon" mouvement="tracer" id="1" abscisse="200" ordonnee="350" />

Par défaut, le tracé sera noir et d'une épaisseur de 1 pixel. Il est possible de préciser une autre épaisseur (en pixels) et une couleur, par son format hexadécimal ou son nom. Les deux nœuds suivants sont équivalents :

<action objet="crayon" mouvement="tracer" id="1" 
   abscisse="200" ordonnee="350" epaisseur="3" couleur="darkorchid" />
<action objet="crayon" mouvement="tracer" id="1" 
   abscisse="200" ordonnee="350" epaisseur="3" couleur="9932CC" />

On peut forcer le crayon à dessiner une flèche au bout du segment en précisant style=“vecteur” et à tracer en pointillés avec pointille=“tiret”.

L'attribut forme peut prendre quatre valeurs :

  • “droite” : le segment sera tracé sur toute la largeur de la zone de tracé pour simuler un tracé de droite
  • “demidroite” : le crayon trace depuis sa position d'avant le tracé jusqu'au bord de la feuille, en passant par le point dont les coordonnées sont données par abscisse et ordonnee
  • “libre” : le crayon trace des segments consécutifs dont les coordonnées extrémités sont données par les attributs abscisses et ordonnees, qui sont des listes de nombres séparés par des virgules.
  • “polygone” : le crayon trace un polygone fermé dont l'intérieur est colorié. Les coordonnées des sommets du polygone sont données dans des listes abscisses et ordonnees comme pour la forme libre. Mais on peut également donner une liste d'id de points déjà créés dans un attribut cibles (voir deuxième exemple ci-dessous). Pour un polygone, on peut préciser couleur_fond si on veut que la couleur de fond du polygone soit différente de la couleur de son périmètre. L'attribut facultatif opacite reçoit un nombre compris entre 0 et 100 définissant l'opacité du fond du polygone : 0 pour un fond totalement transparent, 100 pour un fond opaque. La valeur par défaut est 60.

Exemples Le code suivant donne l'image ci-contre

<?xml version="1.0" encoding="UTF-8"?>
<INSTRUMENPOCHE version="2">
<action mouvement="montrer" objet="crayon" />
<action mouvement="tracer" objet="crayon" id="1" forme="polygone" 
       abscisses="100,200,200,100" ordonnees="100,100,200,200" 
       couleur="darkorchid" epaisseur="3" couleur_fond="gold" />
</INSTRUMENPOCHE>

Pour tracer un triangle dont les sommets sont des points d'id respectivement égaux à 1 ; 2 et 3 :

<action cibles="2,3,1" epaisseur="0" couleur="0" 
   forme="polygone" id="4" mouvement="tracer" objet="crayon" />

Si l'attribut forme n'est pas précisé, le crayon trace un segment.

Voir aussi

  • crayon pour voir comment manipuler le crayon avec la souris.
  • La classe CrayonIep présente les données à connaître pour programmer le crayon depuis une autre application.
script/crayon.txt · Dernière modification: 29/04/2011 08:17 par lzamo