• Les seules lignes du programme qui vont nous interesser sont:
    Merlin.Show();
          Merlin.Play("Greet");
          Merlin.Play("GetAttention");
          Merlin.Play("GetAttentionContinued");
          Merlin.Play("GetAttentionContinued");
          Merlin.Play("GetAttentionContinued");
          Merlin.MoveTo(MerlinCenterX, MerlinCenterY);
          Merlin.Speak("Salut ! je vois encore des nouveaux!");
          Merlin.MoveTo(MerlinRightX, MerlinCenterY);
          Merlin.Play("Explain");
          Merlin.Speak("Je vous invite à découvrir la programmation.");
          Merlin.MoveTo(MerlinCenterX, MerlinTopY);
          Merlin.Play("GestureDown");
          Merlin.Speak("Grâce à cette animation vous allez faire un peu de code!");
          Merlin.Speak("Alors n'hésitez plus !");
          Merlin.Play("Search");
          Merlin.Play("Surprised");
          Merlin.Speak("commençons!");
          Merlin.Play("GestureDown");
          Merlin.MoveTo(MerlinLeftX, MerlinCenterY);
          Merlin.Speak("Mais avant une petite blague!");
          Merlin.Speak("E.T. dit à sa mère :");
          Merlin.MoveTo(MerlinCenterX, MerlinCenterY);
          Merlin.Speak(" ils étaient extra tes restes !");
          Merlin.GestureAt(MerlinLeftX, MerlinCenterY);
          Merlin.Speak("Bien, Maintenant lisez bien les explications qui suiventdans la rebrique 'Faire du code'! ");
          Merlin.Play("Greet");
          Merlin.Hide();


    Voilà, chaque "Merlin.quelque chose" fait faire une action à Merlin. Merlin.Speak le fait parler. Il suffit de mettre du texte entre les "" qui se trouvent dans les parenthèses.
    Pour changer le code, donc les actions de Merlin, il vous suffit d'ouvrir votre projet (toujours avec Internet Explorer), d'aller dans AFFICHAGE puis, SOURCE.
    Retrouvez le morceau de code ci-dessous et transformez-le à volonté. Tout en sachant qu'il faut toujours commencer par Merlin.Show(); pour le faire apparaître et finir par Merlin.Hide();
    Voici la liste d'action possible à mettre dans les Merlin.Play()
    Animations
    Descriptions
    Acknowledge
    Secoue la tête
    Alert
    Redresse et soulève des sourcils
    Announce
    Lève les mains
    Blink
    Cligne des yeux
    Confused
    Se gratte la tête
    Congratulate
    Applaudit
    Congratulate_2
    Les pouces en haut
    Decline
    Hisse les mains et secoue la tête
    DoMagic1
    Tourne le dos et hisse les mains
    DoMagic2
    Les mains en bas, des nuages apparaissent
    DontRecognize
    Tend l'oreille pour écouter
    Explain
    Posture d'explication
    GestureDown
    Fait des gestes en bas
    GestureLeft
    Fait des gestes à gauche
    GestureRight
    Fait des gestes à droite
    GestureUp
    Fait des gestes en haut
    GetAttention
    Agite les bras
    GetAttentionContinued
    Agite les bras de nouveau
    GetAttentionReturn
    Reviens à la position initiale
    Greet
    S'incline pour saluer
    Hearing_1
    Tend l'oreille
    Hearing_2
    Penche la tête à gauche
    Hearing_3
    Tourne la tête à gauche
    Hearing_4
    Tourne la tête à droite
    Hide
    Disparait dans un nuage de fumée
    Idle1_1
    Prend son souffle
    Idle1_2
    Donne un coup d'oeil à droite et cligne des yeux
    Idle1_3
    Donne un coup d'oeil à gauche et cligne des yeux
    Idle1_4
    Donne un coup d'oeil en haut à droite et cligne des yeux
    Idle1_5
    Donne un coup d'oeil en bas et cligne des yeux
    Idle1_6
    Donne un coup d'oeil en haut et cligne des yeux
    Idle2_1
    Ondule comme un serpent
    Idle2_2
    Reveals scroll and reads
    Idle2_3
    Déroule le papier ,lit , écrit
    Idle3_1
    Baille
    Idle3_2
    S'endort
    LookDown
    Regarde en bas
    LookDownBlink
    Cligne des yeux en regardant vers le bas
    LookDownReturn
    Retourne à la position initiale
    LookLeft
    Regarde à gauche
    LookLeftBlink
    Cligne des yeux en regardant à gauche
    LookLeftReturn
    Retourne à la position initiale
    LookRight
    Regarde à droite
    LookRightBlink
    Cligne des yeux en regardant à droite
    LookRightReturn
    Retourne à la position initiale
    LookUp
    Regarde en haut
    LookUpBlink
    Cligne des yeux en regardant en haut
    LookUpReturn
    Retourne à la position initiale
    MoveDown
    Se déplace vers le bas
    MoveLeft
    Se déplace vers la gauche
    MoveRight
    Se déplace vers la droite
    MoveUp
    Se déplace vers le haut
    Pleased
    Se tiens les mains en souriant
    Process
    Disparait dans un nuage
    Processing
    File dans un nuage
    Read
    Sort son papier et lit
    ReadContinued
    Lit et regarde en haut
    ReadReturn
    Retourne à la position initiale
    Reading
    Sort son papier et lit
    RestPose
    Position au repos
    Sad
    Prend une expression triste
    Search
    Sort les jumelles et tourne
    Searching
    Sort les jumelles et tourne
    Show
    Apparait en sortant d'un nuage
    StartListening
    Met ses mains pour entendre
    StopListening
    Met ses mains sur ses oreilles
    Suggest
    Sort une ampoule
    Surprised
    Expression de surprise
    Think
    Regarde en haut avec la main sur le menton
    Thinking
    Regarde en haut avec la main sur le menton
    Uncertain
    Pose une main sur le menton et l'autre sur la hanche , en froncant le sourcil droit.
    Wave
    Salut
    Write
    Deroule son papier, écrit et regarde en haut
    WriteContinued
    Ecrit et regarde en haut.
    WriteReturn
    Retourne à la sa position initiale
    Wrinting
    Déroule son papier et écrit.



    et enfin pour faire parler merlin dans la bulle
    Code:
    Merlin.speak("Ici la phrase de votre choix");
    Pour le faire se déplacer, vous devez changer CenterX par RightX ou LeftX, et CenterY par TopY ou BottomY dans l'expression: Merlin.MoveTo(MerlinCenterX, MerlinCenterY);

    Allez, prenez du temps, testez tout ça et amusez vous bien.
    AH! oui, quand vous avez changé le code, il vous faut fermer le "source", en enregistrant les modifications, et actualisez votre projet en cliquant sur ACTUALISER dans Internet Explorer

    (Je sais, c'est tout en Anglais, mais les langages de programmation ne sont jamais en Français.)


    votre commentaire



  • Pour commencer, il faur savoir que les Ms Agents ne fonctionnent qu'avec les logiciel de Microsoft.
    Donc pour créer notre première animation, nous allons ouvrir le Bloc Note de Microsoft et copier le code ci-dessous dans son intégralité.
    Ensuite il vous faudra l'enregistrer dans votre bécane avec l'extension ".html" (ex: test.html) et ensuite l'ouvrir avec Internet Explorer et pas un autre navigateur, sans quoi vous ne verrez rien!


     <object id="AgentControl" width="0" height="0"
         classid="CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F"
         codebase="#VERSION=2,0,0,0">
       </object>
       
       <object id="L&amp;amp;amp;amp;amp;amp;HTruVoice" width="0" height="0"
         classid="CLSID:B8F2846E-CE36-11D0-AC83-00C04FD97575"
         codebase="#VERSION=6,0,0,0">
       </object>
       
       <script language="JavaScript" type="text/javascript">
       <!--//
       /*
       '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
       ''_/ by Neolien pour Code Source : 08.06.05
       '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
       */
       
       // * Objects Caractère
       var Merlin;
       
       // * Variables
       var UsedChars;
       var MerlinID;
       var MerlinACS;
       var MerlinLoaded;
       var LoadReq;
       var HideReq;
       var MerlinLeftX, MerlinCenterX, MerlinRightX;
       var MerlinTopY, MerlinCenterY, MerlinBottomY;
       
       // * Initialisation
       UsedChars = "Merlin";
       
       // * Merlin
       MerlinID = "Merlin";
       MerlinACS = "merlin.acs";
       MerlinLoaded = false;
       
       
       Window_OnLoad();
       
       function Window_OnLoad() {
           // Le But: Se lance automatiquement quand la page est chargée
       
           AgentControl.Connected = true;
       
           MerlinLoaded = LoadLocalChar(MerlinID, MerlinACS);
       
           if (!MerlinLoaded) {
               // Tentative de chargement du caractère par default
               MerlinLoaded = LoadLocalChar(MerlinID, "");
           }
       
           if (MerlinLoaded) {
               SetCharObj();
           }
           CheckLoadStatus();
       }
       
       function LoadLocalChar(CharID, CharACS) {
          // Le but: Tentative de chargement du caractère spécifié
           // Retour: true si c'est bon, false si ce ne l'est pas
       
           AgentControl.RaiseRequestErrors = false;
           if (CharACS == "") {
       
               LoadReq = AgentControl.Characters.Load(CharID);
           }
           else {
               LoadReq = AgentControl.Characters.Load(CharID, CharACS);
           }
           AgentControl.RaiseRequestErrors = true;
       
           if (LoadReq.Status != 1) {
               return(true);
           }
           return(false);
       }
       
       function SetCharObj() {
           // Le but: lancer le caractère référent et l'ID du langage TTS
       
           Merlin = AgentControl.Characters.Character(MerlinID);
           Merlin.LanguageID = 0x409;
       }
       
       function CheckLoadStatus() {
           // Le but: Déterminer si le caractère requis c'est bien chargé.
       
           if (!MerlinLoaded) {
               LoadError();
               return(false);
           }
       
           window.status = "";
           AgentIntro();
           return(true);
       }
      
      function LoadError() {
          var strMsg;
          window.status = "";
          strMsg = "Erreur du chargement du caractère: " + MerlinID + "\n";
          strMsg = strMsg + "Ce Microsoft Agent Script a besoin du caractère(s):\n";
          strMsg = strMsg + UsedChars;
          alert(strMsg);
      }
      function GetScreenPositions() {
          var ScreenWidth = window.screen.width;
          var ScreenHeight = window.screen.height;
      
          if ((ScreenWidth == 0) || (ScreenHeight == 0)) {
              ScreenWidth = 800;
              ScreenHeight = 600;
          }
      
          MerlinCenterX = (parseInt(ScreenWidth / 2) - parseInt(Merlin.Width / 2));
          MerlinRightX = (ScreenWidth - Merlin.Width);
          MerlinCenterY = (parseInt(ScreenHeight / 2) - parseInt(Merlin.Height / 2));
          MerlinBottomY = (ScreenHeight - Merlin.Height);
      }
      
      function AgentIntro() {
          GetScreenPositions();
     
         // *** Le début du contenu du script d'animation Merlin ***
      
          Merlin.Show();
          Merlin.Play("Greet");
          Merlin.Play("GetAttention");
          Merlin.Play("GetAttentionContinued");
          Merlin.Play("GetAttentionContinued");
          Merlin.Play("GetAttentionContinued");
          Merlin.MoveTo(MerlinCenterX, MerlinCenterY);
          Merlin.Speak("Salut ! je vois encore des nouveaux!");
          Merlin.MoveTo(MerlinRightX, MerlinCenterY);
          Merlin.Play("Explain");
          Merlin.Speak("Je vous invite à découvrir la programmation.");
          Merlin.MoveTo(MerlinCenterX, MerlinTopY);
          Merlin.Play("GestureDown");
          Merlin.Speak("Grâce à cette animation vous allez faire un peu de code!");
          Merlin.Speak("Alors n'hésitez plus !");
          Merlin.Play("Search");
          Merlin.Play("Surprised");
          Merlin.Speak("commençons!");
          Merlin.Play("GestureDown");
          Merlin.MoveTo(MerlinLeftX, MerlinCenterY);
          Merlin.Speak("Mais avant une petite blague!");
          Merlin.Speak("E.T. dit à sa mère :");
          Merlin.MoveTo(MerlinCenterX, MerlinCenterY);
          Merlin.Speak(" ils étaient extra tes restes !");
          Merlin.GestureAt(MerlinLeftX, MerlinCenterY);
          Merlin.Speak("Bien, Maintenant lisez bien les explications qui suiventdans la rebrique 'Faire du code'! ");
          Merlin.Play("Greet");
          Merlin.Hide();
     
      
          // *** la fin du contenu du script animation Merlin ***
      }
      //-->
      </script>
      
      <script language="JavaScript" type="text/javascript" for="AgentControl" event="RequestComplete(RequestObject)">
      <!--//
          // Le but: Achévement du script ou échec de la requête
      //-->
      </script>
      
      <script language="JavaScript" type="text/javascript" for="AgentControl" event="Command(UserInput)">
      <!--//
          // Le but: Determiner la commande sélectionnée par le menu ou la voie et lancer l'application script
       //-->
      </script>
      
      
      <script language="JavaScript" type="text/javascript" for="AgentControl" event="Bookmark(BookmarkID)">
     <!--//
     //-->
     </script>
     
     <script language="JavaScript" type="text/javascript" for="AgentControl" event="Click(CharacterID, Button, Shift, X, Y)">
     <!--
         // Insertion des événements liés aux clics de la souris
     -->
     </script>
     
     <script language="JavaScript" type="text/javascript" for="AgentControl" event="DblClick(CharacterID, Button, Shift, X, Y)">
     <!--
         // Le but: Stopper et cacher l'animation avec le double click
         
         Merlin.StopAll();
         if (!Merlin.HasOtherClients) {
            if (Merlin.Visible) {
                 HideReq = Merlin.Hide();
             }
            else {
                AgentControl.Characters.Character.Unload(MerlinID);
             }
         }
     //_/_/_/_/_/_/_/_/_/_/_/_/_/_/Merci à Tous et vive Code-Source 2005_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
     //-->
     </script>


    2 commentaires


  • Les MS agents sont de petits personnages qui parlent et qui se déplacent sur votre écran au gré de la programmation. Vous pouvez contrôler à peu près tous leurs faits et gestes. Ces personnages facétieux sont livrés avec les systèmes d'exploitations Microsoft depuis Windows2000 et Windows Millenium.
    Tout le monde connais les assistants office comme le petit trombonne animé qui nous donne des conseils sous Word, Excel ...

    Les contrôles MS Agents vont vous permettre à votre tour d'animer des personnages afin de rendre vos applications interactives.
    Ils permettent de faire parler un personnage mais ils peuvent aussi optionnellement reconnaître et répondre à des commandes vocales en associant un mot à une action.

    Le mieux est de voir un exemple ICI
    Attention, ne marche qu'avec Internet Explorer






  • Vous avez plus d'explications sur ce site

    votre commentaire


  • MASH est un petit programme en Anglais qui permet de créer des animations avec les Agents de Microsoft sans se soucier du code. Pour cela, il vous faut télécharger le FULL SETUP, puis les AGENTS CHARACTERES et enfin le TEXT TO SPEECH TTS dans sa version Française.
    Installez le tout sur votre bécane et le tour est joué!


    votre commentaire


    Suivre le flux RSS des articles de cette rubrique
    Suivre le flux RSS des commentaires de cette rubrique