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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Propriété "embedFonts" sans classe "TextFormat"


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Par défaut Propriété "embedFonts" sans classe "TextFormat"
    Bonjour à toutes et tous,

    Je ne développe pas en AS2 mais j'essaye plutôt de m'en sortir -lorsque j'en ai besoin- avec
    "developpez.net" et quelques ouvrages.

    En cherchant comment inclure une police non système dans une animation, je suis tombé sur cette
    explication http://flash.developpez.com/faq/flas...ge=as#use_font qui m'a grandement aidé.

    J'ai donc réussi à inclure une police dans l'anim' sur un script de David Tardiveau que voici
    (les 2 lignes que j'ai rajouté sont en rouge et ont résolues mon soucis !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    var chaineAafficher = String("J'ai trouvé comment faire..!");
    style1 = new TextFormat();
    style1.font = "Zoidal BRK";
    style1.size = 14;
    style1.bold = true;
    style1.color = 0x336600;
    //
    for (i=0; i<chaineAafficher.length; i++) {
    	_root.createEmptyMovieClip("lettre"+i, i);
    	_root["lettre"+i]._x = 100+(i*17);
    	_root["lettre"+i]._y = 100;
    	_root["lettre"+i].createTextField("caractere", 1, 0, 0, 80, 80);
    	_root["lettre"+i].caractere.text = chaineAafficher.substr(i, 1);
    	_root["lettre"+i].caractere.embedFonts = true;
    	_root["lettre"+i].caractere.setTextFormat(style1);
    	_root["lettre"+i].destinationX = _root["lettre"+i]._x;
    	_root["lettre"+i].destinationY = _root["lettre"+i]._y;
    	_root["lettre"+i]._x = random(1000)-200;
    	_root["lettre"+i]._y = random(830)-200;
    	_root["lettre"+i]._xscale = random(800)+50;
    	_root["lettre"+i]._yscale = random(600)+50;
    	_root["lettre"+i].onEnterFrame = function() {
    		distXrestante = this.destinationX-this._x;
    		distYrestante = this.destinationY-this._y;
    		echelleXrestante = 100-this._xscale;
    		echelleYrestante = 100-this._yscale;
    		this._x += (distXrestante)*0.2;
    		this._y += (distYrestante)*0.2;
    		this._xscale += (echelleXrestante)*0.1;
    		this._yscale += (echelleYrestante)*0.1;
    		bonneEchelleX = Math.abs(this._xscale) == 100;
    		bonneEchelleY = Math.abs(this._yscale) == 100;
    		if (Math.abs(distXrestante)<1 && Math.abs(distYrestante)<1 && bonneEchelleX && bonneEchelleY) {
    			this._x = this.destinationX;
    			this._y = this.destinationY;
    			this._xscale = 100;
    			this._yscale = 100;
    			delete this.onEnterFrame;
    		}
    	};
    }
    Mais voilà sur ce deuxième script (du même David Tardiveau), j'ai beau tourner tout dans tous les sens,
    Je n'arrive pas à incorporer une font dans l'animation finale.
    Et oui là -pour le bidouilleur que je suis- pas de classe "TextFormat"..!

    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    1.	lachaine = new String("Je ne trouve pas comment faire..!");
    2.	i = 0;
    3.	function telex() {
    4.		i++;
    5.		zoneDaffichage = lachaine.substring(0, i)+"";
    6.		if (i>=lachaine.length) {
    7.			clearInterval(lancer);
    8.			zoneDaffichage = lachaine.substring(0, lachaine.length);
    9.		}
    10.	}
    11.	lancer = setInterval(telex, 100);
    Donc si celles et ceux qui auraient eu le courage de me lire (et en espérant mettre bien expliqué) avaient une direction vers laquelle m'orienter...?

    Dans l'attente de vous lire, merci.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Par défaut
    Bonjour à toutes et tous,

    Je vois qu'aucun(e) "developpez.neteur(trice)" n'a de direction vers laquelle m'orienter à me soumettre....

    Donc j'essaye d'avancer un peu (peut être n'ai je pas été assez poli ! Peut être les bidouilleurs ne sont ils pas appréciés sur ce forum ! Peut être croyez vous que je me sers sans comprendre ni donner ! Que sais je encore ! Peut être mon problème est il insoluble ! ); bref voilà où j'en suis...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    1.	lachaine = new String("Je ne trouve pas comment faire..!");
    2.     lachaine.font = "Domestic Manners";
    3.     lachaine.size = 24;
    4.     lachaine.italic = true;
    5.     lachaine.color = 0x000000;
    6.	i = 0;
    7.	function telex() {
    8.		i++;
    9.		zoneDaffichage = lachaine.substring(0, i)+"";
    10.   		if (i>=lachaine.length) {
    11.			clearInterval(lancer);
    12.			zoneDaffichage = lachaine.substring(0, lachaine.length);
    13.		}
    14.	}
    15.	lancer = setInterval(telex, 100);
    Donc le code à l'air de passer, mais je ne comprends toujours pas où placer un "embedFonts = true" ...!
    J'ai d'abord pensé à "zoneDaffichage.embedFonts" (ce qui me paraissais le plus logique) , puis est tenté un "lachaine.length.embedFonts"...Mais non rien ne se passe...!

    Le code fonctionne, aucune erreur ne met signalé, mais toujours pas de "Domestic Manners" sur un PC qui ne le possède pas (pourtant elle est bien dans ma bibliothèque et dans le .swf final...)

    Enfin voilà où j'en suis; je suppose que je fais fausse route mais je continu de chercher la bonne \,,/_[-_-]_\,,/

    Bien à vous

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    Essaye de créér une liaison AS à ta police. Tu vas dans la bibliothèque, clic droit sur ta police > Liaison > Exporter pour l'ActionScript.
    Dans le nom que tu lui donne, enlève les accents et les espaces.
    Bien sûr, le nom que tu donne à ta police au moment de l'export pour l'AS devra être celui que utilisera en AS.

    Je sais pas si ça résoudra ton problème mais c'est une piste

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Par défaut
    Bonsoir -Nyk-,

    Merci beaucoup, ça fait quand même bien plaisir de recevoir une piste et ainsi de se sentir moins seul sur ce grand forum ;-)

    Mais malheureusement (enfin heureusement, enfin tu vois..!) j'avais déjà crée la liaison ActionScript vers la dite police..

    En ce qui concerne les espaces dans le nom de celle ci, je ne savais pas. Mais comme tu a peux le voir sur le premier script ça n'a pas empêché la police d'être incorporée correctement (mais je vais tout de même essayer, sait on jamais!) ...

    Encore merci, et je continue d'explorer de nouvelles pistes dont j'exposerais les résultats sur ce post.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo