begin process at 2012 05 26 13:28:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

Action sur des textes dynamiques et movieClip


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Action sur des textes dynamiques et movieClip

mercredi 31 août 2005 à 10:35:12 | Action sur des textes dynamiques et movieClip

spg40

Bonjour,

je crée un moteur de recherche. Je fait ma recherche et je récupère les résultats à travers un fichier PHP. Je mets mes résultats dans des champs textes. Je voudrais cliquer sur le texte et ouvrir un swf dépendant de mon texte sur ma scène, ce swf est généré à partir l'id du texte et d'autres données liées au texte. Je ne veut pas passer par l'Url.

Comme un texte, même dynamique n'est pas clickable, je l'ai mis dans un movieClip : MC_num_id_d  où   num est le numéro de mon texte,
                                id est son id BD associé,
                                d la donnée associée.

je n'arrive pas à utiliser une fonction de type onRelease sur le MC_num_id_d. Je ne sais pas où la placer. J'ai essayé de le mettre dans la boucle de construction des MC_num_id_d. Lorsque je passe sur mon texte, je peut cliquer mais rien ne se produit : le num, l'id et d n'ont pas été associés au texte. Ils sont soit indéfinis, soit globaux(identiques pour tous, le dernier).

Il y 2 jours que je bute sur ce pb, si qq'un a une solution! C'a devient urgent.........


SPG40

mercredi 31 août 2005 à 16:06:31 | Re : Action sur des textes dynamiques et movieClip

_benjy

Réponse acceptée !
bon j'imagine que tes MC sont dupliqué (vu que tu en parle pas)
donc :
var i = 0;
var count = Results.length
while (i<count){
    var init = new Object();
    init.id = Result[i].id;
    init.d= Result[i].d;
    init.index = i;
    originalClip.duplicateMovieClip("mc"+i,i+10,init);
}


dans le clip dupliqué, sur la premiere image
if (_name == "originalClip"){ // on le cache il sert a rien en lui mm
    _visible = false;
    return;
}
if (index > 0){   // on les empile
    _y = _parent["mc"+(index-1)]._y + _parent["mc"+(index-1)]._height;
}
function onRelease (){
    getURL("page.php","_blank","post"); // les var id, d, et index partent vers la fenetre en post
}

en esparant t'avoir aidé
++

Flash sans Limites
_Benjy
mercredi 31 août 2005 à 17:06:56 | Re : Action sur des textes dynamiques et movieClip

spg40

Merci _Benjy ,

mais en fait je ne fait pas de duplicateMovieClip. En effet, suivant le nombre de résultats à ma recherche, je les affiche soit dans un movieClip (MCListe) que je crée pour l'occasion, soit dans un scrollpane(déjà positionné sur ma scène).

Il faut donc que je crée les MovieClip au fur et à mesure ; d'où leur nom si long.

En fait, tu trouvera un exemple de ce que je veut faire sur :   [ Lien ] , sélectionne le 'plan de la ville'. C'est toute la partie recherche. Mais résultats restant sur la partie gauche de ma scène, la partie centrale étant dynamique : elle varie dynamiquement en fonction du résultat sélectionné.

Je ne remonte pas les résultats depuis mon php dans un tableau multidimensionnel mais comme une suite de texte 'numéroté'.

<?php
  //traitement : recherche des resultats en fonction des données transmises
   ...
  //resultats transmis au flash
 $nbr_enreg=0;
 while ($row=mysql_fetch_object($requete)) {
      ...
     echo "&".$nbr_enreg."=".$t."&".($nbr_enreg+=1)."=".$d."&".($nbr_enreg+=1)."=".$r."&".($nbr_enreg+=1)."=".$id."&".($nbr_enreg+=1)."=".$q;
     $nbr_enreg+=1;
  }
>

La solution d'un tableau serait-elle plus efficace?

Je cherche dans toutes les directions...


SPG40
mercredi 31 août 2005 à 17:15:18 | Re : Action sur des textes dynamiques et movieClip

_benjy

Réponse acceptée !
tu peux pas passé un tableau depuis php a flash, flash comprendra pas les var
donc là c bon
ce que je capte pas c'est que tu dois bien creer tes elements.
donc c'est soit un duplicate, soit un attachmovie, soit un createMovie, ce qui est pareil pour mon explication si dessus
enfn nan pour un createMovie, tu dois mettre les elts du clip (tel onrelease) dans l'init objet
obj.onRelease = functio(){ ... }
++

Flash sans Limites
_Benjy
mercredi 31 août 2005 à 17:34:26 | Re : Action sur des textes dynamiques et movieClip

spg40

Je fait des createEmptyMovieClip. Par exemple, pour écrire dans ma MCListe (peu de résulktats pour ma recherche).


//Récupération des résultats
 for (php_var in requete) {
...
    //Ecriture dans la MCListe
    if (nbr_enreg == 1) {
     //On crée la MCListe à vide
     _root.createEmptyMovieClip("MCListe", 1);
    }
   MCListe.createEmptyMovieClip(["MCTexte_"+num+"_"+id+"_"+d], i_layer +=1 ); 
    var monclip=MCListe["MCTexte_"+num+"_"+id+"_"+d];
    //calcul de la métrique pour récupérer la hauteur et la longueur d'un texte suivant les propriétés du TextFormat
    metrique = _root.TXTformat_choix.getTextExtent(php_string, largeur_scrollpanel);
    // position en Y du texte (on tient compte de la hauteur du texte précédent)
    posY += height_last_text;
    // mémorise la hauteur du dernier texte pour incrémentation en Y, et on ajoute la ligne blanche séparant les résultats.
    height_last_text = metrique.textFieldHeight + 4;
    // on utilise la metrique (la hauteur) pour créer le champ texte dans la MCListe
    monclip.createTextField(("TXT"+num+"_"+id+"_"+d), i_layer , posX_nbr, posY, largeur_scrollpanel, metrique.textFieldHeight);
    //on applique les propriétés suivantes au champ texte créé
    with (monclip["TXT"+num+"_"+id+"_"+d]) {
        list_choix_TXTformat(php_idvoie);
        setNewTextFormat(_root.TXTformat_choix);
        type = "dynamic";
        background = true;
        autoSize = "left";
        text = php_string ;
        html = true;
        wordWrap = true;
        backgroundColor = bgcolor;
        //on force la largeur du champ texte
        _width = largeur_scrollpanel;
        selectable=true;
       }
       php_text = id+ " / " + d
   monclip.onPress=function()
      { 
       trace(monclip._name);
       //startDrag(monclip);
       monclip._visible = false;
      } 
   monclip.onRelease = function(){
      trace("Vous venez de cliquer sur le texte.");
      trace(num);
      trace(php_idvoie);
      trace(php_rgraph);
      trace(monclip._name);
      //stopDrag();
      monclip._visible = true;
      map_generation(x,y,0,0,id, r);
     }
    num +=1;
    monclip="";
} ...
nbr_enreg+=1;
...
}

Rmq : i_layer correspond à la profondeur.

Si tu as une idée sur ce qui cloche dans ce code? Toute idée est bonne à prendre.
Ce qui est bizarre, c'est que les fonction starDrag() et stopDrag() semblent fonctionner : car elles n'utlisent aucun paramètre variable à proprement parler?

A+.


SPG40
mercredi 31 août 2005 à 17:43:35 | Re : Action sur des textes dynamiques et movieClip

_benjy

désolé mais j'ai pas le courage de lire un post pareil
fait toi un sample plus cours et je regarderai

Flash sans Limites
_Benjy
jeudi 1 septembre 2005 à 12:39:12 | Re : Action sur des textes dynamiques et movieClip

spg40

Réponse acceptée !

Bonjour _Benjy ,

ça y est, j'ai trouvé une solution, qui fonctionne dans un movieClip ou un scrollpanel. j'avais un pb de chemin jusqu'au nv clip créé et pour utiliser le onRelease (il fallait utiliser valueOf() ).

J'ai fait une fonction.

Si ça t'intéresse elle ressemble à ça : 


function resultat_trace(chemin, MCTexte, id,d, texte, largeur_texte, hauteur_texte, posY, posX){

 //on crée le MCTexte et onlui met les variables qu'on va utiliser dans le onRelease
 chemin.createEmptyMovieClip(MCTexte, i_layer +=1 );
 chemin[MCTexte].id = id;
 chemin[MCTexte].d = d;    
 
 metrique = _root.TXTformat_choix.getTextExtent(texte, largeur_texte);
 posY += hauteur_texte;
 hauteur_texte = metrique.textFieldHeight + 4;

 chemin[MCTexte].createTextField("TXT_liste", i_layer+=1 , posX, posY, largeur_texte, metrique.textFieldHeight);

 with (chemin[MCTexte].TXT_liste) {
   // propriétés du texte
   ...
 }
 
 //on applique l'événement onRelease au MCTexte
 chemin[MCTexte].valueOf().onRelease = function(){
     trace("Vous venez de cliquer sur le texte.");
     trace(this.id);
     trace(this.d);
 }

 return posY, hauteur_texte;
}

On a MCTexte qui est définit dans mon traitement des données issues du php avec :
MCTexte = "MCTexte_"+id+"_"+d;
de manière à garder son unicité.

Merci pour ton aide.

A+

SPG40



Cette discussion est classée dans : texte, id, num, movieclip, textes


Répondre à ce message

Sujets en rapport avec ce message

Pb avec les textes dynamiques [ par Bimpson ] Salut à tous,J'ai un petit (qui commence à devenir trop gros) problème avec les textes dynamiques...En effet quand je veux mettre une scrollbar sur un Justification de textes!!! [ par AmeDay ] Flash j'aime pas trop, & oui avez vous essayé de justifier un texte, alors je m'exlique au cas où je fasse des erreurs kke part.je prend l'éditeur tex impression zone de texte défilant [ par blackpitufo ] bonjour,j ai dans mon anim des zones de textes remplies avec differentes variables suivant les actions en utilisant un loadVars.certains textes sont p texte externe dans un MC [ par frelon1977 ] je veut loader un fichier .txt dans un movieClip de mon swf, normalement j'écrirais loadVariablesNum("news.txt", 0) mais cela fonctionne seulement qua pb d accents sur les textes dynamiques [ par charles557 ] après avoir fouillé sur ce forum, j'ai découvert que pour pouvoir importer du texte provenant d'un fichier .txt vers une zone de texte dynamique il fa Problème textes dynamiques [ par dogann ] Salut ! J'ai un champ texte dynamique. Lorsque je passe sur une frame différente, je charge un autre texte avec la fonction loadVariablesNum("/text. Appel de movieclip [ par cfury ] Bonsoir,Voilà j'ai cree un clip dans lequel j'ai insere du texte statique qui reagit verticalement via une scrollbar.Tout fonctionne.Sur ce meme clip, est-il possible de faire un duplicate movieclip par rapport a un champs texte? [ par redemption ] Bonjours a tous. je sais que mon titre est pas tres explicite, mais vous verez qu'avec ce que je demande il est difficile de faire mieux.voila m'a que Txt incomplets lors du chargement [ par celbob ] Bonjour, j'ai mis en ligne un site affichant de nombreux textes. Tous sont des txt loadés séparément lors du clic sur le bouton correspondant. Ils s'a Calques et textes en Flash MX [ par DjoulZ ] Bonjour @ tous,Je voudrais savoir si on peut faire afficher un calque de Texte par rapport à la couleur d'un calque masque?C'est à dire : J'ai un text


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales