Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
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/11/2007, 14h35   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
Par défaut Problème d'envoi de variables

Bonjour à tous,

Je vous contacte car je travaille sur l'elaboration d'une galerie photo. J'ai fais un code qui génère des clip avec movieClipLoader et qui y charge des vignettes.

Code :
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
 
gauche = 5;
haut = 5;
 
j = 0;
for(i=0;i<=20;i++) {
        _root.valeur = "boite"+i;
 
	var conteneur:MovieClip = this.createEmptyMovieClip(_root.valeur, this.getNextHighestDepth());
 
	var clipLecteur:Object = new Object();
 
	clipLecteur.onLoadInit = function(target_mc:MovieClip):Void {
		trace ("chargé");
		target_mc._x = gauche;
		target_mc._y = haut;
		target_mc._width = 100;
		target_mc._height = 100;
		target_mc._alpha = 50;
		trace(j);
		j++;
		gauche = gauche+105;
		if(gauche > 500) {
			gauche = 5;
			haut = haut+105;
		}
	}
 
	clipLecteur.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
		trace ("chargement");
	}
 
	var clipChargement:MovieClipLoader = new MovieClipLoader();
 
	clipChargement.addListener(clipLecteur);
 
	clipChargement.loadClip("image1.jpg", conteneur);
}
Celui-ci est volontairement simplifié, mais cela ne change rien au problème qui est le suivant:

Je voudrais, lors du clique du la souris sur une n'importe qu'elle vignette, cela charge la photo correspondante dans un autre clip.

Je sèche complètement...

Si quelqu'un a une proposition ou une idée, je suis preneur

Merci par avance
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 18h04   #2
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

il faut ajouter le code dans la fonction onRelease de tes vignettes,
déclarée à l'initialisation des vignettes.

Code :
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
gauche = 5;
haut = 5;

j = 0;
for(i=0;i<=20;i++) {
        _root.valeur = "boite"+i;

    var conteneur:MovieClip = this.createEmptyMovieClip(_root.valeur, this.getNextHighestDepth());
     
    var clipLecteur:Object = new Object();
    
    clipLecteur.onLoadInit = function(target_mc:MovieClip):Void {
        trace ("chargé");
         target_mc.onRelease = function()
         {
         trace("chargement image " + i);
         };
        target_mc._x = gauche;
        target_mc._y = haut;
        target_mc._width = 100;
        target_mc._height = 100;
        target_mc._alpha = 50;
        trace(j);
        j++;
        gauche = gauche+105;
        if(gauche > 500) {
            gauche = 5;
            haut = haut+105;
        }
    }
     
    clipLecteur.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        trace ("chargement");
    }
     
    var clipChargement:MovieClipLoader = new MovieClipLoader();
     
    clipChargement.addListener(clipLecteur);
    
    clipChargement.loadClip("image1.jpg", conteneur);
}
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 12h01   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
J'ai suivit la piste donnée. Et cela m'a donné une solution. en effet, les images générées sont bien transformées en bouton, mais elles affichent toutes la meme image lors du clic:

Code :
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
 
gauche = 450;
haut = 220;
 
j = 0;
for(i=0;i<=20;i++) {
	_root.valeur = "boite"+i;
 
	var conteneur:MovieClip = this.createEmptyMovieClip(_root.valeur, this.getNextHighestDepth());
 
	var clipLecteur:Object = new Object();
 
	clipLecteur.onLoadInit = function(target_mc:MovieClip):Void {
		trace ("chargé");
		target_mc.onRelease = function() {
        	clipChargement1.loadClip("images/image"+j+".jpg", conteneur1);
			trace("images/image"+j+".jpg");
        }
		target_mc._x = gauche;
		target_mc._y = haut;
		target_mc._width = 40;
		target_mc._height = 40;
		target_mc._alpha = 50;
		trace(j);
		j++;
		gauche = gauche+50;
		if(gauche > 560) {
			gauche = 450;
			haut = haut+50;
		}
	}
 
	clipLecteur.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
		trace ("chargement");
	}
 
	var clipChargement:MovieClipLoader = new MovieClipLoader();
 
	clipChargement.addListener(clipLecteur);
 
	clipChargement.loadClip("images/image"+i+".jpg", conteneur);
}
En effet, lors du clic, il charge "images/image"+j+".jpg" dans "conteneur1", mais il utilise la valeur de j une fois le programme terminé. Il charge donc "image20.jpg" a chaque fois.

Comment pourrais-je l'obliger à donner la bonne valeur?

Aidez-moi, c'est urgent ...
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 12h16   #4
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

apriori ta variable j reste constante, c'est ta variable i qui devrai etre utilisée non ?
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 12h39   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
j'ai le meme probleme, que je sois avec i ou j. En fait, comme je clique une fois que le script a été executé, il prend la valeur de i ou de j à la fin du script. En fait, il ne garde pas en memoire la valeur de i ou de j au moment ou il execute sa boucle.

y'a t-il une possibilité d'associer une valeur a l'image, par exemple, l'image1 a la valeur 1, pour envoyer cette valeur lors du clic.

Sinon, pourrions-nous envoyer le nom de l'image cliquée lors du clic?
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 13h31   #6
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
essaye en mémorisant la valeur dans ton clip :

Code :
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
gauche = 450;
haut = 220;

j = 0;
for(i=0;i<=20;i++) {
    _root.valeur = "boite"+i;
    
    var conteneur:MovieClip = this.createEmptyMovieClip(_root.valeur, this.getNextHighestDepth());
     
    var clipLecteur:Object = new Object();
    
    clipLecteur.onLoadInit = function(target_mc:MovieClip):Void {
        trace ("chargé");
         target_mc.imageUrl = "images/image"+i+".jpg";
        target_mc.onRelease = function() {
            clipChargement1.loadClip(this.imageUrl, conteneur1);
            trace(this.imageUrl);
        }
        target_mc._x = gauche;
        target_mc._y = haut;
        target_mc._width = 40;
        target_mc._height = 40;
        target_mc._alpha = 50;
        trace(j);
        j++;
        gauche = gauche+50;
        if(gauche > 560) {
            gauche = 450;
            haut = haut+50;
        }
    }
     
    clipLecteur.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        trace ("chargement");
    }
     
    var clipChargement:MovieClipLoader = new MovieClipLoader();
     
    clipChargement.addListener(clipLecteur);
    
    clipChargement.loadClip("images/image"+i+".jpg", conteneur);
}
normalement il faudrait utiliser le prototype mais bon ..
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 18h08   #7
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 67
Points : 12
Points : 12
Apres 1 mois d'absence, me voila de retour et le problème est toujours là. Cependant, celui-ci a evolué.

En effet, les liens fonctionnent, mais je me suis rendu compte d'un autre problème, c'est que les images se chargent en ordre inversé. Mais les liens sont dans le bon ordre. Donc, si je clique sur l'image en première position (qui est en fait la 20è image) j'ai l'image 1 qui apparait en grand.

Je n'arrive pas a comprendre pourquoi la dernière image est en première position, ...

Si quelqu'un a une idée?

Merci par avance
tarzanjane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web