Ptit bug concernant un loadMovie + besoin d'une petite astuce... VENEZ NOMBREUX!

juju2chaussette Messages postés 19 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 28 mai 2004 - 15 avril 2004 à 17:59
Prouprou_Sensei Messages postés 517 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 24 octobre 2006 - 16 avril 2004 à 12:01
Bonjour à tous,

j'ai un petit souci qui me parait assez mystique pour mes faibles compétences en flash et besoin d'une petite astuce!!
Voilà je pars d'un fichier XML que j'enregistre dans mon document flash. Je récupère 2 type de données : du texte(type="texte") et des photos (type="photos"). Quel que soit le type que je reçoit, je l'affiche en le mettant d'abord dans un clip. Le problème est que j'aimerai qu'en appuyant sur un ces clips, il se passe quelque chose (meme un affichage me suffirait!!), que ça marche très bien quand mon clip contient du text mais il ne se passe que dal lorsque mon clip contient une photo.. et c'est assez mystique, donc si quelqu'un peut m'expliquer ce serait terrible!!

if(type=="texte"){
/* On déclare un clip qui va recevoir le texte */
_root.createEmptyMovieClip("texte_mc", profondeur);
/* initialisation du textFiel qui va recevoir les infos */
texte_mc.createTextField(nom,profondeur,posX,posY,largeur,hauteur);
/* On met dans ce textField, les données récupéré */
texte_mc[nom].text = contenu;
/* Si on appuie sur le clip */
texte_mc.onPress = function () {
trace ('Texte selectionné');
};
}

if(type=="photo"){
/* On déclare un clip qui va recevoir l'image */
_root.createEmptyMovieClip("image_mc", profondeur);
/* On charge l'image dans le clip */
image_mc.loadMovie(contenu);

/* si on appuis sur le clip */
image_mc.onPress = function () {
trace ('Image selectionnée');
};
}

Secondo, j'ai besoin de votre matière grise, c'est un problème tout bidon je pense mais je sai :big) s pas comment faire!! Je voudrai, comme je vous l'ai dit, afficher les textes que je reçoit ainsi que les images. J'arrive à afficher plusieurs textes (contenu dans des clips) car il est posible de donner un nom spécifique au textField... mais comment faire pour les loadMovie!!! En effet, je ne sais pas combien de photos va contenir mon document, et j'ai besoin d'occurences différentes, sinon tout les photos seront stockées sur le même loadMovie... COMMENT FAIRE ??????????????? :question) :question)

Merci d'avance à tous ceux qui pourront m'aider.
@++
A voir également:

3 réponses

Prouprou_Sensei Messages postés 517 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 24 octobre 2006 1
15 avril 2004 à 18:42
met un ecouteur pour le moviecliploader:
//
mon_mcl = new MovieClipLoader();
mon_ecouteur.onLoadInit = function(objet) {
objet.onPress = function() {
trace('Image selectionnée');
};
};
mon_mcl.addListener(mon_ecouteur);
mon_mcl.loadMovie(contenu);
//
Comme ca a la fin du chargement du clip la fonction onPress lui est attribué.

Pour ton deuxieme probleme il faut utiliser une boucle for(i=0;i<nombre_images;i++).

Tchao
0
juju2chaussette Messages postés 19 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 28 mai 2004
16 avril 2004 à 10:19
Salut,
tout d'abord merci pour ta réponse.
J'ai essayé ta solution pour l'écouteur, je n'ai pas encore réussi mais je pense savoir comment faire...donc merci!!
Par contre pour l'autre problème, ce n'est pas aussi simple que ça, je vais essayer de le reformuler autrement:

Si je veux créer un clip qui va contenir un textField, je commence par donner un nom fixe au clip tout au long du programme car entre "", puis je n'ai aucun problème car le constructeur d'un textFiel accepte une variable nom (= qui peut contenir n'importe quel nom).

_root.createEmptyMovieClip( "texte_mc" , profondeur);

texte_mc.createTextField(nom,prof,X,Y,larg,haut);

Ensuite, j'ai mon clip principal et tous ces textField que je peux appeler grâce à leur nom (qui est different)
texte_mc[nom].text = contenu;

Mon problème est que je cherche à avoir le même résultat mais en chargeant une image à la place du textField. Je commence par initialiser mon clip avec un nom fixe :

_root.createEmptyMovieClip("image_mc", profondeur);

et ensuite je charge mon image, mais pas moyen dans toutes ces opérations de nommer un des composants grâce à une varible que je pourai modifier (= sans "").

image_mc.loadMovie(contenu);

Actuellement, si j'ai 2 images à afficher, la seconde écrasera la première car je n'ai pas moen de les différencier.

Comment faire????????
0
Prouprou_Sensei Messages postés 517 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 24 octobre 2006 1
16 avril 2004 à 12:01
il faut que tu crée un clip different pour chaque image. Quand tu fait un load movie tout ce qu"il y avait dans le clip est effacé.
0
Rejoignez-nous