Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2007, 19h13   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut Formatage d'un texte flash avec des variables PHP

Bonjour à tous,

Ce sont mes tous premiers pas en flash... J'ai passé la journée à lire des tutos, essayer des exemples, ce n'est pas très concluant, alors je sollicite humblement votre aide...

Le but est de créer une petite animation avec un texte modifiable par des variables php.

J'ai crée dans flash une petite animation simple avec 2 calques:
- un fond uni.
- un texte défilant dynamique avec une interpolation de mouvement: "Mon texte ici". J'ai selectionné "dynamique", et donné un nom de var: texte. Puis j'ai enregistré et publié en swf sous "anim.swf". Ok.

J'ai crée un fichier test_anim.htm d'où j'appelle ce swf:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<HTML><HEAD><TITLE>Test anim</TITLE>
</HEAD><BODY>
   <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
      WIDTH=468 HEIGHT=60>
     <PARAM NAME=movie VALUE="anim.swf">
     <PARAM NAME=quality VALUE=high> 
     <PARAM NAME=bgcolor VALUE=#FFCC00>
     <EMBED src="anim.swf" quality=high bgcolor=#FFCC00  WIDTH=468 HEIGHT=60
        TYPE="application/x-shockwave-flash"
     PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
     </EMBED>
   </OBJECT>
Puis j'ai crée un fichier php nommé "params.php" avec les paramètres désirés:

Code :
1
2
3
4
5
6
7
8
 
 
<?php 
$texte = utf8_encode("Le texte est modifié");
$couleur = "#000000";
$taille = "12";
echo "texte=".$texte."&couleur=".$couleur."&taille=".$taille.""; 
?>
Enfin, dans le fla, dans le volet action de la frame 1 du calque fond:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
loadVariables("params.php", "", "POST");
 
texte.htmlText = this.texte;
 
var txt_fmt:TextFormat = new TextFormat();
 
txt_fmt.size = this.taille;
txt_fmt.color = this.couleur;
 
texte.setTextFormat(txt_fmt);
Résultat: le texte se modifie bien et passe de "mon texte ici" à "Le texte est modifié". C'est déjà ça...Encore que, au tout début de l'anim, on voit l'ancien texte pendant une fraction de seconde, sais pas pourquoi...

Par contre, pour les attributs couleur et taille, rien que dalle, nada.
Et j'ai essayé divers changements sans succès...
Si quelqu'un voit le truc...merci à lui.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 07h49   #2
Membre éprouvé
 
Avatar de Destiny
 
Inscription : février 2005
Messages : 716
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 716
Points : 494
Points : 494
que vaut ton tihis.color?
Destiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 07h52   #3
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Bonjour et merci de te pencher sur ma question.
Je ne comprends d'ailleurs pas trop la tienne...
Pour moi, si j'ai bien compris, this.color doit prendre la valeur de la variable $couleur du fichier php...
Non ?
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 10h06   #4
Membre éprouvé
 
Avatar de Destiny
 
Inscription : février 2005
Messages : 716
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 716
Points : 494
Points : 494
dans ton flash, après l'importation de tes valeurs, quelle valeur prend ta variable color (dans flash)?

Regarde quelle valeur elle à dans php et ensuite regarde quelle valeur elle à dans flash.
Destiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 13h18   #5
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Effectivement, je devais avoir un prob au niveau des déclarations de variables...Merci !
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 16h12   #6
Membre éprouvé
 
Avatar de Destiny
 
Inscription : février 2005
Messages : 716
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 716
Points : 494
Points : 494
Si tu as trouvé la solution, peux-tu la poster pour les autres utilisateurs? merci
Destiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 16h31   #7
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Bien sûr, avec plaisir ! J'ai été bien aidé par un membre du forum officiel flash.

coté Flash
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
//calque 3, nommé AS qui contient les codes
//frame 1
loadVariables("params.php", "", "POST"); //chargement des vars
//frame2: vide
//frame 3
if (texte == "") gotoAndPlay(2)
else play() // pour laisser les vars se charger sans "décallage"
//frame 4: variables de formatage de texte
txt_fmt = new TextFormat();
txt_fmt.size = parseInt(this.taille);
txt_fmt.color = parseInt("0x"+this.couleur);
txt_fmt.font = this.fontT1;
zeclip.texte.htmlText = this.texte;
//zeclip est le nom de l'ocurrence du clip qui contient le texte à modifier
//texte est l'ocurrence du texte dynamique (à ne pas mettre dans le champ var)
zeclip.texte.setTextFormat(txt_fmt);
Côté php, dans le fichier "params.php"

Code :
1
2
3
4
5
6
 
$texte = utf8_encode("Renaud On The Ouaibe");
$couleur = "FFFF00";
$taille = "20";
$fontT1 = "Comic Sans MS";
echo "texte=".$texte."&couleur=".$couleur."&taille=".$taille."&fontT1=".$fontT1."";
Reste que j'en suis maintenant à essayer d'enregistrer ce swf avec ses params php, et à savoir si on peut modifier la couleur de fond de l'anim (calque1) ou la couleur d'un objet sur la scène (un simple carré par exemple). J'ai reposté spécialement pour ça.

Pas facile, les débuts en AS...
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h15.


 
 
 
 
Partenaires

Hébergement Web