IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)


Delphi et Living Actor

Juin 2003

Par Benoit Vermersch - vermerschb@mailup.net

2- Premiers pas avec LA

2-1 Installation

Pour pouvoir utiliser Living Actor, vous devez tout d'abord disposer du programme central :

http://www.cantoche.com/test/setuplivingactor.exe (574 ko)

D'un personnage :

http://www.livingactor.com/english/examples/cantoche/Bob_Cantoche.liv (130ko)

et de l'unité ActiveX :

http://bvermersch.developpez.com/la/ACTIVEXLib_TLB.pas

Vous placerez ces deux derniers fichiers dans le dossier de votre nouveau projet Delphi.

2-2 Intégration dans Delphi

Après avoir installé Living Actor sur votre PC, créez un nouveau projet dans Delphi et enregistrez le dès maintenant dans le même dossier que celui de Bob_Cantoche.liv et ACTIVEXLib TLB.pas

Vous devez associer la librairie ACTIVEXLib_TLB.pas. à votre projet. Pour cela, ajouter "ACTIVEXLib TLB" dans la liste des uses.

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ACTIVEXLib_TLB, StdCtrls, ExtCtrls, MPlayer;

Vous devez aussi déclarer deux variables dans l'emplacement private :

private
LA : ICantocheLivingActor;
Actor : ICantocheActor;
public
{ Déclarations publiques }
end;

LA désigne la technologie que l'on va utiliser et Actor le personnage que l'on va animer.

2-3 Commandes Living Actor

On va d'abord afficher notre personnage. Pour cela, placez un bouton sur votre fiche et remplacez son caption par 'Afficher Bob'. Ensuite, générez son évènement OnClick :

LA := CoCantocheLivingActor.Create();
Actor := LA.LoadActor2[GetCurrentDir+'\Bob_Cantoche.liv'];
Timer1.enabled:=true;

Vous avez ordonné de charger le personnage Bob de la technologie Living Actor. Nous allons maintenant configurer un Timer pour qu'il affiche Bob à la fin de son chargement.

Pour cela, placez un timer (onglet système) sur votre fiche et après avoir réglé sur false sa propriété "enabled", générez son événement OnTimer :

If Actor.Loaded=1 Then
Begin
Actor.Show;
Actor.Play('Wave');
Actor.Speak('Bonjour moi c''est Bob');
Actor.NormalizedMoveTo(0.8,0.8);

Timer1.Enabled:=false;
end;

Notes

Dès que l'acteur est chargé, on peut l'afficher puis l'animer, le faire parler et le déplacer sur l'écran très facilement. A noter que pour le faire se déplacer, les coordonnées doivent être comprises entre 0 et 1, le point (1,1) désignant le coin bas-droite de votre écran.

Vous pouvez combiner plusieurs commandes pour exécuter les actions en même temps. De cette manière, vous pouvez ajoutez du son : Actor.Speak('[wave(son.mp3) Texte'); des animations : Actor.Speak('[play(congratulate)] Yeah Man'); aux discours de vos personnages LA. Attention le chemin des mp3 doit être relatif au dossier de l'application (c:/sons/helloworld.mp3 ne convient pas);

Nous allons maintenant créer une interface pour que l'utilisateur puisse lui aussi s'amuser avec Living Actor.

3- Projet

3-1 Les animations

Il faut que votre utilisateur ait le choix entre toutes les animations de Bob. Il pourra choisir celle qu'il veut par l'intermédiaire d'une et d'un bouton.

Disposez une combobox et un bouton l'un à côté de l'autre sur votre fiche et configurez ces deux composants selon le tableau suivant :

Composant Propriété Valeur
Combobox1 Text Animations
Button2 Caption Jouer l'animation

Il faut qu'après le chargement de l'acteur, toutes ses actions soient listées dans notre combobox donc dans l'évémennt OnTimer, déclarez d'abord une variable locale avant begin.

var
i:integer;

Puis, intégrez

...
Timer1.Enabled:=false;
For i:=0 to Actor.AnimationsCount-1 do
Combobox1.Items.Add(Actor.Animation[i]);

Maintenant il n'y a plus qu'à ajouter au niveau de l'événement de Button2 la ligne :

Actor.Play(Combobox1.text);

Vous pouvez compiler votre application, elle est déjà fonctionnelle et vous pouvez aussi vous rendre compte du nombre et de la qualité des animations par Bob.

3-2 La parole

Notre acteur La va bientôt être en mesure de réciter les textes que l'utilisteur à écrits et/ou les sons mp3 choisis.

D'abord, placez un Radiogroup de l'onglet supplément sur votre fiche et insérez à l'intérieur 3 Radiobutton.

Composant Propriété Valeur
Radiogroup1 Caption Parole
Radiobutton1 Caption Texte uniquement
Radiobutton2 Caption Son uniquement
Radiobutton3 Caption Texte et son

Ensuite, placez un memo, deux boutons et un opendialog (onglet Dialogs) dans ce même radiogroup et réglez les propriétés de ces deux composants à partir du tableau :

Composant Propriété Valeur
Memo1 Lines Votre texte
Button3 Caption Sélectionner un mp3
Button4 Caption Parler
Opendialog1 Filter (clic sur '...') Nom du filtre Fichiers mp3
Opendialog1 Filter (clic sur '...') Filtrer *.mp3

Voilà vous avez créé une interface qui permet aux utilisateurs du programme de faire lire des textes par vos acteurs LA.

Il reste maintenant à créer les événements qui rendront cette interface totalement fonctionnelle