| ★ APPLICATIONS ★ DIVERS ★ TRANSPARENCE, TAG ET INVERSION VIDEO ★ |
| Transparence Tag et Inversion Video (CPC Revue) | Applications Divers |
Il s'agit là de commandes Basic spécifiques aux AMSTRAD CPC ; pratiques, spectaculaires, mais aussi avec quelques pièges qui, bien sûr, ne sont pas mentionnés dans le manuel d'origine. Afin de les comprendre facilement et de les "avoir en main", rien de tel qu'un petit programme de démonstration, dont vous pouvez vous inspirer pour augmenter la présentation de vos programmes.LA TRANSPARENCE Chaque caractère affiché à l'écran est en fait un petit "pavé" carré de 16x16 pixels ( = point d'écran), qu'il s'agisse du A, du point ou de l'espace "blanc". De ce fait, si l'on superpose un caractère sur un autre, le premier en date disparaît complètement. Le Piège La grande gaffe classique consiste à oublier d'annuler la transparence sitôt que l'on n'en a plus besoin (remarquez notre PRINT T0$ en bout de la ligne 110). Sans cela, la transparence restera active, même si vous quittez votre programme! Essayez donc de modifier une ligne avec la touche COPY sous transparence, et vous verrez le désastre à l'écran... Un horrible gribouillis absolument illisible ! ' TAG ET TAGOFF PLOT 423,129,3:TAG:PRINT "AMSTRAD";:TAGOFFLe curseur graphique se trouve en final en haut à droite du "D" d'AMSTRAD (écrit en rouge). La preuve, faisons suivre par PRINT XPOS;YPOS - réponse : 535 129. TAGOFF est bien sûr l'annulation de TAG, à mettre tout de suite après usage, sinon vous ne pourrez plus écrire par des PRINT normaux, même avec un LOCATE !Super-important : Mettez toujours un point-virgule à la suite de la chaîne à écrire sous AG, sinon, à la suite du mot. vous aurez droit à deux caractères graphiques assez bizarres : une flèche coudée qui est le symbole de "CR" (Carriage Return) ou CHR$(13), suivie d'une flèche vers le bas, symbole de "LF" (Une Feed) ou CHR$(10h Après ces préambules, revenons à notre programme de démonstration. On le met à la fois en transparence et en TAG pour afficher notre ligne de 25 "0", en jaune (lignes 210 à 220). TAGOFF, et par LOCATE banal cette même chaîne en rouge (ligne 240). On constate que la transparence joue et que ces "O" rouges s'entrelacent avec les "O" jaunes. Retour en TAG, on descendre curseur graphique et on affiche "llll" (lignes 250-260). Oh, surprise ! Ces "I" ont effacé en partie nos "O" rouges. Vérifions que la transparence n'est pas annulée, ligne 270, après un TAGOFF, affichons quatre "O" bleus sur nos "O" rouges, mais par un LOCATE banal" : la transparence est toujours active. Conclusion : la transparence est inactive avec un PRINT sous TAG. TAG APRES UN DRAW Nous allons entrecroiser des traits verticaux fins (par DRAW) et des barres horizontales (P$), avec ou sans transparence. En bout, on marque "T1" ou "T0 ( = avec ou sans transparence). Dans l'ordre, on fait :
(Lignes 500 à 590) Nous allons écrire une chaîne en demi-cercle ! Le principe est simple : on va faire des PLOT sur un demi cercle, et en TAG, on y affiche les caractères de la phrase, les uns après les autres. On va même faire mieux ; on change de couleur à chaque lettre (1, 2, 3, 1, 2, 3, etc.). L'effet est assez spectaculaire. Par défaut, l'ORIGIN graphique est située en 0,0 (coin en bas à gauche). En ligne 510, on la met à mi-largeur en la remontant un peu. MOT EN EVIDENCE Pour attirer l'attention sur un mot à l'écran, les méthodes ne manquent pas ! La plus simple est la transition minuscules/majuscules, mais on peut aussi changer de PEN (ligne 620), fabriquer un PEN clignotant (ligne 630). Ici, c'est INK2 qui alterne entre mauve et vert vif. On ralentit la vitesse d'origine par SPEED INK 15,15, c'est-à-dire durée mauve = 15, durée vert = 15 (en 1/50e de seconde). Essayez aussi : MENUS DESCENDANTS C'est une application de l'inversion vidéo, où vous allez retrouver une certaine présentation de menus propres à des logiciels de qualité. Les différentes options sont présentées, mais une seule est en inversion vidéo. Une action sur la barre d'espacement, et c'est la ligne au-dessous qui est en inversion. Une action sur ENTER et cette option est exécutée. C'est une question d'incrémentation verticale. A chaque descente, l'option précédente est ré-écrite sans inversion. En bas de liste, on repart sur la ligne du haut. Spectaculaire et pas sorcier... MENUS DEROULANTS Variante de ce qui précède. Cette méthode est utilisée lorsque l'on manque de place à l'écran. Dans une fenêtre (WINDOW#1 ) étroite, ici trois lignes, on fait défiler un menu "déroulant" (sans fin). La ligne du milieu est en inversion vidéo, elle est donc fixe. A chaque pression sur une touche, les options défilent une à une. ENTER fait exécuter l'option en inversion vidéo. Le CHR$(18) de la ligne 910 efface ce qui est à droite du curseur. NOTE SUR WINDOW : Lorsque l'on crée un WINDOW, il faut d'abord y faire un CLS# (ligne 910). La ligne 1020 efface WINDOW#1. FAISONS LE BILAN Au cours de ces petits programmes de démonstration, l'auteur en a profité pour illustrer des fonctions Basic de l'AMS-TRAD que certains d'entre vous ne connaissent "que de nom", voire pas du tout. Nous en faisons la liste, suivie du numéro de ligne où elles apparaissent : CHR$(22)(40), STRING$(60,90), CALL &BB06(140), TAG(210), TAGOFF(230), PLOTR(250), DRAWR(420>, MOVER (440), DEG(510), ORIGIN(510), CHR$(24)(610), SPEED INK(630), WHILE/WEND(770), ON... GOTO(820), WINDOW(910), CHR1(18)(910). Il est toujours profitable d'enrichir son vocabulaire...
|