|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Pas de réelle programmation pour cette suite de présentation mais un petit retour en arrière pour permettre aux débutants et à ceux qui n'ont pas encore utilisé CanDo de mieux comprendre les facilités qu'offre ce langage. Il est vrai que les listings peuvent paraître difficiles à un débutant qui hésite à se lancer dans la réalisation d'une application complexe. Mais CanDo permet en fait d'écrire des applications sans avoir à saisir des lignes de programmes (ou très peu). Reportez-vous éventuellement au premier article de cette série. Prenons le cas d'une application multimédia... une application gérant du texte, des images, des sons, des animations et ceci de manière interactive. Comment faire ? Créer des boutons à cliquer c'est facile. Concevoir qu'à chaque bouton va correspondre une action (par exemple, l'affichage d'une image associée à un son avec en plus l'affichage d'un texte) demande à priori un minimum de connaissance en programmation... Que nenni ! CanDo offre une alternative. Les éditeurs spécifiques A droite de l'éditeur de scripts se trouvent douze boutons (visibles quatre par quatre) qui permettent d'accéder à des éditeurs spécialisés. ![]() De plus, CanDo peut, si vous le désirez, ajouter des commentaires. Ces commentaires sont bien sûr en anglais. Je suppose tout de même que vous maîtrisez à peu près cette langue pour saisir le sens de ces commentaires car leur lecture est encore un bon moyen de comprendre le script généré par CanDo. Pour bénéficier de ces commentaires, il faut que le fichier CanDo.defaults contienne l'instruction "AutoComment = ON". Dans les exemples de scripts qui suivent celui de l'éditeur, "Dos" est en anglais afin de vous montrer les commentaires tel que CanDo les insère. Ceux en français ont bien entendu été rajoutés. Deux de ces boutons saisissent directement des données. Il s'agit du bouton de saisie de coordonnées et de celui de saisie d'un nom de fichier. Leur emploi étant évident, je ne les détaillerai donc pas. ARexx Cet éditeur écrit vos scripts contenants des instructions qui permettent par exemple un dialogue entre deux applications. Ici, il faut tout même ajouter une programmation personnelle qui gère les différents messages reçus.
![]() Cet éditeur gère toutes les commandes relatives aux changements de cartes.
![]() Cet éditeur est une simple fenêtre de requête de fichiers qui nous fait choisir le programme à lancer depuis l'application. Lançons par exemple le programme "X" qui se trouve dans le tiroir "C:". Pour finir, cliquez sur "CD & OK" afin d'utiliser l'option "CD" (commande CD d'AmigaOS). CanDo va alors initialiser la variable "DosVar" et la passer à la commande DOS qui va faire exécuter le programme :
Il s'agit là d'indiquer le contenu d'un champ ou de le récupérer dans une variable. Il existe deux types de champ, texte ou numérique (entier). On suppose bien entendu que vous avez auparavant créé ces champs. L'avantage là encore c'est d'avoir la liste des champs existant et d'éviter une erreur de saisie.
![]()
Cet éditeur est utilisé pour afficher un texte en mode graphique sur la fenêtre de votre application. Il vous demande de choisir le texte, la couleur du crayon, le style d'écriture, la police de caractères et la position sur la fenêtre. Ce qui donne un script de ce style :
![]() Il suffit juste de choisir le nom de l'image à l'aide d'une fenêtre de requête. En général, ce genre de script devrait s'accompagner d'un changement de carte si on veut que l'image ne soit affichée que pour un instant.
Pour exemple, prenons l'éditeur d'une liste de sons. A vous d'entrer les sons de cette liste en cliquant sur "Dir" et de sélectionner s'il le faut un nouveau canal ou de modifier le volume. Le script va créer une liste de ces sons et les faire entendre ensuite un à un.
![]() Attention ! Malgré son aspect, ce n'est pas un mini-programme de dessin. Bien sûr, il vous permet d'exercer vos talents de graphiste, mais surtout il mémorise toutes vos actions pour en faire un script. Chaque action correspond à une commande. Il est amusant car il construit des scripts assez longs sans que vous vous en aperceviez (voir deck Exemple.2). L'intérêt d'une telle chose ? C'est par exemple de programmer la modification d'une image pendant le déroulement de votre application, de saisir et de manipuler des brosses... De programmer du graphisme pour vos jeux... Son emploi est simple, il offre deux modes de graphisme "Jam1" et "Complement" ainsi qu'un mode "MultiMode" à essayer. La fonction "Undo" efface une à une toutes vos actions. Une action par clic. C'est très utile car on réussit rarement un dessin complet du premier coup ! L'éditeur de brosse animée Cet éditeur va écrire toute la programmation qui concerne l'affichage et le déplacement à l'écran d'une brosse animée. Pour ce faire, il faut choisir une brosse et enregistrer tous ces mouvements (par l'enregistrement d'une succession de points qui vont définir un chemin). ![]() Ensuite, cliquez sur premier bouton "RECORD" ce qui fait apparaître votre brosse. Amenez-la sur la position à laquelle vous voulez qu'il apparaisse puis déplacez-la en maintenant le bouton gauche de la souris enfoncé afin de définir le mouvement que devra effectuer la brosse animée. Suivant le réglage de la vitesse d'enregistrement vous enregistrerez plus ou moins de points en fonction de la vitesse à laquelle vous déplacez le pointeur de la souris. Appuyez sur "ESCAPE" pour revenir à l'éditeur. Vous pouvez affiner votre déplacement de la brosse en passant en mode "EDIT", en effaçant ou en ajoutant des points. Le bouton "PREVIEW" vous permet de tester votre enregistrement. Les menus "LOAD" et "SAVE" de cet éditeur autorisent la sauvegarde ou le changement d'un chemin complet. Le fait de cliquer sur "OK" va produire l'inscription de toutes les commandes que vous avez enregistrées (voir deck Exemple.2). Les objets brosse animée et le son Retour au panneau principal de CanDo. On y trouve deux boutons, celui de la brosse animée et du son. Ils appellent un éditeur d'objets. Mais c'est quoi un objet brosse animée ? C'est tout simplement un ou plusieurs scripts qui seront exécutés en relation avec une animation. Ces scripts pour une brosse animée peuvent être définis au début ou à la fin de l'animation, après chaque image, ou après une image précise. Ainsi, il est possible d'associer différentes actions avec l'exécution d'une animation. Utile dans une présentation, un jeu pour faire par exemple coïncider un mouvement et un son. Un objet son obéit au même principe, les scripts associés peuvent être exécutés au début ou à la fin du son (voir deck Exemple.2). ![]() ![]() Voici deux decks d'exemple que vous pourrez aisément reprendre et adapter, particulièrement le deuxième dont les scripts sont uniquement là pour illustrer la saisie à partir des éditeurs. Deck "Exemple.1" Il y a trois cartes dans ce deck, "Card#1", "Card#2", "Card#3". Cette petite application à pour rôle d'identifier un fichier sélectionné (carte 1), de l'afficher s'il s'agit d'une image, d'une brosse ou d'une brosse animée (carte 2), de l'afficher en lecture (carte 3) s'il s'agit d'un fichier texte. Si c'est un son, il est joué sans changement de carte. Carte "Card#1" Créer une fenêtre sur l'écran du Workbench, d'une taille assez réduite. Cette fenêtre aura son gadget de fermeture pour pouvoir quitter l'application. Script "OnCloseButton" de la fenêtre :
Mettez sur cette fenêtre un bouton "Bouton1" (de type texte par exemple) avec un script qui sera exécuté lorsqu'on relâche le bouton. Il servira à sélectionner un fichier. Script "OnRelease" de l'objet "Bouton1" : ![]() Pour cette carte, une fenêtre plein écran, sur un écran 320x256 en 32 couleurs. Sans gadget, ni titre, ni bordure et en mode "Backdrop". C'est cette carte qui affichera images, brosses et brosses animées. Attention, une incompatibilité de taille et de résolution risque parfois de réveiller le Guru ! Script "AfterAttachment" de "Card#2" : ![]() Script "OnClick" de "BoutonInvisible" :
Routine "Quitter" : ![]() Créer une fenêtre sur l'écran du Workbench assez grande pour y lire un texte. Cette fenêtre aura le gadget de fermeture (pour quitter la lecture de votre fichier). Script "OnCloseButton" de la fenêtre :
Script "AfterAttachment" de "Card#3" : ![]() Deck "Exemple.2" Ce deck avec une seule carte met en valeur l'éditeur de graphisme et les éditeurs d'objets son et brosse animée. Trois maisons sont dessinées, un son est joué puis une brosse est présentée. ![]() Créer une fenêtre plein écran, sur l'écran du Workbench, avec son gadget de fermeture pour pouvoir quitter. Script "OnCloseButton" de la fenêtre :
Script "AfterAttachment" de "Card#1" : ![]() ![]() 1. Un objet de type son, Sound#1. Cet objet est lié au son "DH0:Musique", deux scripts y sont associés, un pour le début du son, l'autre pour la fin. Ces deux scripts auront pour notre exemple la tâche d'écrire un texte sur l'écran. Script "OnStop" de l'objet "Sound#1" :
Script "OnStart" de l'objet "Sound#1" :
2. Un objet de type brosse animée, BrushAnim#1. Cet objet est lié à la brosse animée "DH0:Bird". Mettons ici un petit script qui sera exécuté après chaque changement d'image de l'animation. Dans cet exemple, à chaque battement d'aile d'un oiseau, le son "Boing" est reproduit, provoquant un battement d'aile plutôt lourd ! Script "OnEveryFrame" de l'objet :
Conclusion Encore un mot pour faciliter votre apprentissage de CanDo. Dans le menu "Edit" du tableau principal utilisez les fonctions Copy/Paste (copier/coller) qui s'appliquent aussi bien à un objet qu'à une carte. D'une application à l'autre vous pouvez utiliser ainsi les mêmes objets ou cartes sans avoir à tout redéfinir. Choisissez l'option "Copy", puis cliquez sur l'icône de l'objet à copier ou sur l'icône carte ce qui fait venir une fenêtre de requête énumérant cartes ou objets. Cliquez sur "Copy". Il ne vous reste plus alors qu'à changer de carte ou d'application puis à sélectionner "Paste". Ainsi vous éviterez de bien fastidieux aller-retour d'un éditeur à l'autre !
|