Connecteurs2

From OFSET Wiki

Jump to: navigation, search

Contents

[edit] Avant-propos

Dans le premier chapitre Connecteurs1, nous avions utilisé un nombre réduit d'objets de cette nouvelle catégorie de Squeak, principalement les flèches de connections rectilignes et les surfaces-texte.

Nous avons exploité les capacités de ces quelques objets pour construire des ensembles graphiques.

Cependant, il en existe d'autres doués eux aussi d'intéressantes possibilités et nous allons, de façon non exhaustive, en examiner quelques uns.

[edit] Objets supplémentaires de la catégorie connecteur

[edit] Les couples de connexion

Un seul connecteur courbe
Un seul connecteur courbe

Le catalogue des Connecteurs nous propose 2 séries de connecteurs :

  • les connecteurs rectilignes que nous avons déjà rencontrés
  • les connecteurs curvilignes dont les propriétés sont identiques mais se traduisent par une liaison souple entre les extrémités de chaque connecteur .
Les 2 catégories de connecteurs
Les 2 catégories de connecteurs

Chaque catégorie est composée de 2 connecteurs :

  • le connecteur simple aux extrémités indifférenciées
  • le connecteur flèche dont la ligne centrale se termine par une pointe de flèche indiquant une direction. A l'aide du menu du halo rouge, on peut choisir de mettre une pointe de flèche à l'une ou l'autre des extrémités ou aux 2. Il est aussi possible de modifier à l'aide de ce menu la forme et la taille de la flèche.

La ligne intermédiaire peut, comme nous l'avons déjà vu, être déformée.

Comme pour les connecteurs rectilignes, les extrémités actives des connecteurs CURVILIGNES s'intègrent à un objet quand on les dépose à l'intérieur et leur ligne intermédiaire a la capacité de se déformer quand on l'étire dans un sens ou un autre. Ils peuvent devenir, de ce fait, un véritable outil de dessin à la façon des tracés des polygones morphiques.

Comment déformer le tracé d'un connecteur courbe
Comment déformer le tracé d'un connecteur courbe

Chaque nouvelle déformation imposée à la ligne ne peut se faire que dans la zone la plus proche de l'objet intégré (flèches rouges), par contre les changements d'orientations et de taille des ondulations déjà existantes se maîtrisent facilement avec la souris, jusqu'à la création du sigle ou de la figure désirée.

Ordre chronologique d'intégration des extrémités d'un connecteur
Ordre chronologique d'intégration des extrémités d'un connecteur

Sur le plan de la programmation, nous découvrons que ces connecteurs possèdent, dans la liste des catégories du visualiseur de commandes, 2 catégories de commandes supplémentaires : connecter et mes connections qui permettent de réaliser un certain nombre d'opérations nouvelles . Nous retiendrons surtout la première : conneczeurs qui offre plus de possibilités pour des travaux de création :

Cette série de scripts fait référence au fait que, quand on intègre les 2 extrémités d'un connecteur à l'intérieur de 2 objets à mettre en relation (1 contact rouge et 1 contact vert) :

  1. le premier objet intégré devient l'OBJET SOURCE (ici le contact rouge ),
  2. le deuxième objet intégré devient l'OBJET DESTINATION (ici le contact vert), ce qui se manifeste immédiatement à l'intérieur des commandes de la série conneczeurs par l'apparition de contacts de couleur (voir tableau).

Les objet 'destination' ou 'source' pourraient être tout autre chose que des contacts.

Cela appelle une autre remarque : quand on travaille avec les connecteurs fléchés, la Destination est toujours du côté de la pointe de la flèche quel que soit l'ordre dans lequel les extrémités ont été affectées aux objets.

Nous découvrons, à cette occasion, que l'usage des scripts permet d'opérer des transferts de destination et des passages d'une flèche d'un objet à un autre.

Prenons plusieurs objets de formes et de couleurs différentes, et un connecteur fléché :

  • La base (source) de la flèche est arrimée à une petite surface nommée contact dont nous parlerons plus loin.
  • Pour faire passer la tête (destination) de la flèche d'un objet à un autre régulièrement ou au Hasard, nous avons 2 solutions :
Déplacer manuellement l'extrémité d'une flèche de connection
Déplacer manuellement l'extrémité d'une flèche de connection
[edit] Solution 1 - manuelle:
  1. Ouvrir le visualiseur de scripts du connecteur fléché et chercher la catégorie connecteur.
  2. Choisir la commande destination.
  3. Cliquer sur la surface témoin à droite de la flèche verte (le curseur devient une croix )
  4. Il suffit ensuite de cliquer avec cette croix sur l'objet désiré et la pointe de la flèche le désigne aussitôt.
  5. On passe à un autre objet à un autre en le pointant en répétant l'opération ci-dessus.


[edit] Solution 2 - programmée:
Programmer le déplacement d'une flèche
Programmer le déplacement d'une flèche
  1. Pour faire passer la flèche d'un objet à un autre, on utilise la plage - test contenue à l'intérieur de chaque script et l'on programme le passage de l'objet 1 à l'objet 2.
  2. Puis, en prenant un autre script, le passage de l'objet 2 à l'objet 3 et ainsi de suite jusqu'à épuisement des objets.

Nous prendrons comme exemple un déroulement chronologique simple, celui d'une aiguille qui indique successivement les différentes heures d'une horloge.

La durée du passage d'une heure à une autre sera ajustée à l'aide de la petite horloge placée à côté de la case 'Normal' de chaque script.

Chaque script conditionnel se construit de façon traditionnelle en faisant intervenir des commandes issues des catégories test' et connecteur.


La logique du raisonnement du test implique que si la flèche entre en contact avec le contact 1 (commande intersection dans la catégorie test), si oui, elle prend la direction du contact 2 (commande destination dans la catégorie connecteur).


Il est rappelé pour mémoire que l'objet destinataire des actions proposées par les tests (ici les contacts 1 et 2) est désigné en prélevant dans le Halo brun de cet objet le rectangle nominatif placé sous son œil bleu et en le plaçant sur la dernière case de chaque commande. On peut mettre tous les tests dans un même script, comme sur l'illustration ci-dessous, mais la fenêtre devient très grande s'il y a beaucoup de tests.

Construire le script-test
Construire le script-test

On peut aussi faire un script par test. Pour une bonne marche de la programmation, il faut dans ce cas activer chaque script conditionnel terminé avant de construire le suivant, pour que les paramètres des tableaux de commandes s'ajustent aux nouvelles indications, sinon il risque d'y avoir un blocage.


Si l'on désire avoir un déroulement tournant en boucle, il faudra ajouter les conditions du passage du dernier objet au premier et regrouper l'ensemble des appels aux scripts de tests dans un script unique qui lancera l'action.

Un script pour tourner en boucle
Un script pour tourner en boucle









[edit] Plus simple

Il y a une autre solution beaucoup plus simple en posant les contacts des heures seuls sur un scène. Dans ce cas on peut utiliser curseur et acteur au curseur de la catégorie collection pour désigner ces contacts. La scène peut être sans bordure et transparente, simplement elle supporte les contacts, sauf celui du centre. Après le dernier objet, le curseur revient au début.

Script simple animant le réveil
Script simple animant le réveil


Le script ressemble à celui d'une animation. En fait scène et récipients sonr les même objets, seules des options sur la disposition diffèrent.

Ces principes vont permettre de construire des projets animés variés basés sur des comportements comparables.

Le projet LE TEMPS INCERTAIN prend quelques libertés avec le schéma théorique exposé ci-dessus : le nombre d'heures est fantaisiste et la durée des intervalles irrégulière, c'est un temps un peu ivre.

Le projet, à télécharger et étudier :

Le projet LE TEMPS INCERTAIN. Deux boutons pour démarrer ou stopper le passage des heures.
Le projet LE TEMPS INCERTAIN. Deux boutons pour démarrer ou stopper le passage des heures.

[edit] Les contacts

Déjà utilisés, ce sont de petites surfaces rondes dotées d'un système automatique d'intégration à un objet sous-jacent. Ils représentent les surfaces minimales d'ancrage pour les connecteurs.

Ils permettent de localiser avec précision les lieux d'ancrage.

Si un des 2 point d'attaches est relié d'un côté à un objet fixe, et de l'autre à un objet mobile, et si l'on fait tourner l'objet mobile sur lui-même, le connecteur ne bouge pas.

Par contre, si le deuxième connecteur est relié à un contact et que ce contact soit déposé à la périphérie de l'objet mobile, lorsque l'on fait tourner cet l'objet sur lui-même, le contact se déplace et entraîne avec lui la ligne de connexion.

Ce dispositif va ouvrir la porte à de multiples possibilités d'animation du type piston de roue de locomotive.

Le jeu de 2 contacts et un connecteur
Le jeu de 2 contacts et un connecteur

[edit] Créateur de connecteurs au hasard

ou random - les flèches de connexion distribuées au hasard.

Le catalogue des objets se comporte comme un distributeur d'objets. Il suffit de cliquer sur l'un d'eux pour pouvoir disposer de son double. Certains de ces objets sont eux-mêmes des distributeurs et placés sur l'écran, ils permettent de récupérer certains objets sans avoir recours au catalogue des objtes:

  • la flèche rectiligne
  • le Créateur de connecteurs au hasard.
Sur la gauche - les objets distributeurs
Sur la gauche - les objets distributeurs

On trouve également le bouton Créateur de Morph, une petite figure symbolique de Squeak qui a la faculté de devenir distributeur de n'importe quel objet qui sera lâché dessus.

Tous ces boutons créent des clones (appelés aussi frères) et non des copies, de plus si vous avez ajouté une étiquette, elle sera supprimée et un assemblage d'objets connectés perd ses connexions. (Les clones se partagent les mêmes scripts, la modification du script d'un clone se répercute sur tous les clones.

Pour obtenir des copies, utiliser une scène avec la coche distributeur d'objets.

Le tiroir pour boutons peut aussi être coché comme distributeur d'objets.

Le tiroir connecteurs contient déjà une partie des objets de la catégorie connecteurs du catalogue des objets.

Mais le bouton le plus curieux est Créateur de connecteurs au hasard qui propose au hasard des modèles de flèches et de connecteurs de toutes les formes, tailles et couleurs.

Si l'on clique sur une extrémité avec le bouton droit, on obtient un menu pour modifier la taille et la forme de la flèche, l'article extrémités permet de gérer le mode d'attache et l'article nouvelle flèche permet de choisir la forme.

Le menu obtenu par clic droit sur le connecteur permet de choisir si l'on veut des flèches à l'une ou aux deux extrémités. L'article orthogonal permet d'avoir des connecteurs avec uniquement des segments horizontaux et verticaux. pour les connecteurs curvilignes, les angles sont arrondis.

Ces connecteurs se comportent exactement comme leurs homologues et peuvent être utilisées de la même façon. On doit peut en stocker quelques uns dans le tiroir pour boutons que l'on peut tirer et qui se place à gauche. Utiliser le bouton Créateur de Morph pour générer des copies.

[edit] Quelques exemples

Dessiner en utilisant des contacts et des connecteurs
Dessiner en utilisant des contacts et des connecteurs

D'autres accessoires sont à disposition dans le catalogue, mais nous arrêterons là notre prospection et nous allons essayer de réaliser quelques exemples simples en nous appuyant sur les éléments examinés.

[edit] Images fixes

Exemple de visage de clown utilisant des Connecteurs curvilignes simples et des connecteurs rectilignes plus larges de la série Random, tous reliés à des contacts dont on a changé la couleur.


[edit] Des projets

[edit] Mécanique celeste

Mouvements supposés de sphères célestes connectées les unes aux autres

Mécanique céleste - connexions fixes et mobiles
Mécanique céleste - connexions fixes et mobiles

Déplacements en rotation pour le premier système et rectiligne avec Enroule pour le deuxième . On peut changer le trajet du deuxième système en réorientant sa flèche de direction.

Liaison simple entre deux objets (les disques transparents ) à l'aide de Connecteurs Courbes. Un connecteur peut n'être relié qu'à un seul objet (les flèches bleues), l'autre extrémité restant fixe.

Plusieurs connecteurs peuvent être reliés au même objet.

Le projet, à télécharger et étudier :

[edit] La décharge hantée

La décharge hantée - accumulation de flèches
La décharge hantée - accumulation de flèches

Accumulation superposée de flèches issues du distributeur Créateur de Connecteurs au hasard.

Certaines sont reliées à des contacts et fonctionnent avec un script de rotation.

D'autres peuvent se connecter spontanément entr'elles par simple contact.

En déplaçant quelques flèches à l'intérieur du tas, cela va déclencher des turbulences au milieu des objets.

Le projet, à télécharger et étudier :

[edit] Mécanismes, l'atelier des locomotives

L'atelier des locomotives - contacts et connecteurs
L'atelier des locomotives - contacts et connecteurs

Dans ce projet, les connecteurs sont reliés à des contacts situés sur des roues mobiles qui les entraînent dans des circuits variés.

Le projet, à télécharger et étudier :

[edit] Les perroquets

L'objectif est de provoquer une modification d'un environnement coloré à chaque déplacement d'une flèche de connexion qui passe d'un cercle à un autre.

Un script est nécessaire, à chaque fois, pour déclencher le déplacement du connecteur de l'objet A vers l'objet B, puis de B vers C etc, mais ce script peut être composite et accepter d'autres commandes venant d'objets différents.

Rédiger le système des mutations
Rédiger le système des mutations

Plusieurs scripts successifs vont donc décrire la liste des modifications accompagnant chaque déplacement de la flèche.

Principe de construction d'un de ces scripts qui est établi à partir d'un SCRIPT VIDE pris dans la catégorie SCRIPTS des commandes du CONNECTEUR :

  • Si la flèche entre en contact avec l'objet 1 (test), elle rejoint l'objet 2
  • mais en même temps, elle accomplit une série de modifications concernant d'autres objets, qui seront placées à la suite et dont on ira chercher le détail dans leur propre liste de commandes pour les regrouper dans le même script :
    Le projet couleur perroquet
    Le projet couleur perroquet
    • changer la couleur de certains cercles
    • en faire disparaître ou apparaître d'autres
    • les changer de place ou sonoriser les déplacements etc.

Le projet, à télécharger et étudier :

[edit] Conclusion

L'utilisation de quelques autres objets trouvés dans la catégorie CONNECTEURS permet des actions supplémentaires spécifiques dont nous sommes loin d'avoir exploré toutes les possibilités.

Nous nous sommes contentés de tracer quelques pistes sur le versant qui peut se rattacher aux Arts Plastiques.

Nous avons vu que les connecteurs eux-mêmes peuvent devenir d'intéressants outils de dessin, et que, joints aux autres moyens offerts par Squeak (manipulation des formes et des couleurs, programmation, animation) des projets très variés peuvent être élaborés qui tireront leur originalité de l'usage particulier des connecteurs.

Sur le plan éducatif, Les connecteurs permettent de dessiner toutes sortes de structures telles que organigrames, arbres, réseaux, grammaires etc. De plus les possibilités de programmation font que ces structures peuvent être actives.

Explorations à poursuivre.

[edit] Chapitre suivant

Personal tools