[init] { SetTimer(50); } [Body] { y=sin(x+A); } [Timer] { A+=PI/20; } |
Ci-dessus, un exemple de courbe comportant une animation...
Grâce à l'appel de fonction SetTimer(50), toutes les 50 millisecondes, le moteur de script de SEG lancera la section [Timer] de votre script. Le timer peut-être arrété avec la fonction KillTimer();
Lors de l'affichage de la courbe, les timers ne sont pas lancés effectivement.
Ils ne le seront qu'à l'appui sur ou par la séquence Shift-Escape. De la même manière l'animation sera suspendu par les mêmes moyens ou par l'appui pendant un temps pouvant atteindre 250 millisecondes sur la touche Escape.
Grâce à ces particularités, vous pourrez créer facilement des scripts comme:
[init] |
De nombreuses fonctions ont été crées pour être utilisées principalement dans les scripts d'animation....
Nom | Rôle | Particularités |
Fill3d(Bool) | Remplissage en 3D | Est mémorisé. Doit être remis à 0. Utile seulement pour les courbes de niveau |
Lighting(Bool) | Eclairage en 3D | Est mémorisé. Doit être remis à 0. Utile seulement pour les courbes de niveau |
WireFrame(Bool) | WireFrame en 3D | Est mémorisé. Doit être remis à 1. Utile seulement pour les courbes de niveau |
Translate(X,Y,Z) | Translation de la scène | |
Rotate(Xr,Yr,Zr) | Rotation de la scène | Angles en radians. |
Redraw() | Force le retracé de l'écran | Peut-être utilisé en 2D comme en 3D. Très utile pour les animations. |
Clear(Bool) | Efface l'écran entre 2 frames | Peut-être utilisé en 2D comme en 3D. |
SetColor(R,G,B) | Fixe la couleur de tracé | R(ed) G(reen) et B(lue) valent entre 0 et 255. |
SetRGB(R,G,B) | Fixe la couleur de tracé | R(ed) G(reen) et B(lue) valent entre 0 et 255. comme SetColor |
SetRGBA(R,G,B,A) | Fixe la couleur de tracé et alpha | R(ed) G(reen) et B(lue) A(lpha) valent entre 0 et 255. Alpha est la transparence... |
SnapShot(Name,N) | Prend une image BMP de la scène | Le nom du fichier est NameN.BMP. N, numérique peut évoluer... |
SetTimer(X) | Fixe la valeur en ms du timer | Une fois les timers lancés, appelle la section timer à chaque frame, avant de relancer le tracé. |
KillTimer( ) | Arrète le timer |
Je ne résiste pas à l'envie de vous donner un second et magnifique exemple...