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 3 Discussion :

[AS3] Autre méthode pour switch imbriqués ?


Sujet :

ActionScript 3

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut [AS3] Autre méthode pour switch imbriqués ?
    Bonjour à tous,

    Je suis tout nouveau sur le forum et je pose donc ma première question... Merci de votre indulgence

    Je fais une galerie de miniatures qui se chargent à partir d'un XML qui se charge lui même à partir d'une page PHP qui liste un répertoire d'images.

    Jusque là pas de soucis. Mais je voudrait repérer le "clic" sur une miniature afin d'ouvrir l'image en grand :
    J'ai utilisé addEventListener(MouseEvent.CLICK, clic_image); mais je ne sais pas comment trouver l'index (le numéro) de limage cliquée. Je l'ai fais de manière très barbare par switch imbriqués qui travaille sur la position de mon objet pour en conclure le numéro de l'objet :

    Voici la galerie de miniatures en question :



    La fonction cli_image appelle la fonction trouve_image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trouve_image (evt.target.x, evt.target.y);
    Et la fonction trouve_image déduit le numéro de la miniature (entre 1 et 24 ici) en fonction de evt.target.x et y) :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
     
     
    function trouve_image (coordx:uint, coordy:uint)
    {
     
    var img:String;
     
    	switch (coordx)
    	{
    		case 34 :
    		switch (coordy)
    		{
    			case 30 :
    			img="01";
    			break;
     
    			case 80 :
    			img="07";
    			break;
     
    			case  130:
    			img="13";
    			break;
     
    			case 180 :
    			img="19";
    			break;
    		}
    		break;
     
    		case 84 :
    		switch (coordy)
    		{
    			case 30 :
    			img="02";
    			break;
     
    			case 80 :
    			img="08";
    			break;
     
    			case  130:
    			img="14";
    			break;
     
    			case 180 :
    			img="20";
    			break;
    		}
    		break;
     
    		case 134 :
    		switch (coordy)
    		{
    			case 30 :
    			img="03";
    			break;
     
    			case 80 :
    			img="09";
    			break;
     
    			case  130:
    			img="15";
    			break;
     
    			case 180 :
    			img="21";
    			break;
    		}
    		break;
     
    		case 184 :
    		switch (coordy)
    		{
    			case 30 :
    			img="04";
    			break;
     
    			case 80 :
    			img="10";
    			break;
     
    			case  130:
    			img="16";
    			break;
     
    			case 180 :
    			img="22";
    			break;
    		}
    		break;
     
    		case 234 :
    		switch (coordy)
    		{
    			case 30 :
    			img="05";
    			break;
     
    			case 80 :
    			img="11";
    			break;
     
    			case  130:
    			img="17";
    			break;
     
    			case 180 :
    			img="23";
    			break;
    		}
    		break;
     
    		case 284 :
    		switch (coordy)
    		{
    			case 30 :
    			img="06";
    			break;
     
    			case 80 :
    			img="12";
    			break;
     
    			case  130:
    			img="18";
    			break;
     
    			case 180 :
    			img="24";
    			break;
    		}
    		break;
     
    	}
    	texte.text= "SourisX : " + String (coordx) + " | sourisY : " + String (coordy) + " Img : " + img;
     
    	var GrandeImage:Loader = new Loader();
    	var GImg:URLRequest = new URLRequest("img/grandes/bagues" + img + ".jpg");
    	GrandeImage.x=500;
    	GrandeImage.y=-200;	
    	GrandeImage.load(GImg);
    	addChild(GrandeImage);
     
    }
    Voilà si vous avez besoin d'autres morceaux de mon code n'hésitez pas !

    Merci à tous d'avance
    F.

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    a ta place je reste sur le "addEventListener(MouseEvent.CLICK, clic_image)" mais zape TOUS LES swicth !

    tu peux définir un attribut "name" a ton conteneur image, suffirait dans la fonction "clic_image" de récupérer la valeur name de l'image cliqué

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    Merci beaucoup j'ai en effet résolu le problème de cette façon

    Bonne journée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/06/2013, 15h18
  2. [RegExp] ou autre méthode pour analyser une URL
    Par djibril dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 06/06/2012, 22h17
  3. Autre méthode pour l'analyse de SPAM
    Par ysahel dans le forum Sécurité
    Réponses: 1
    Dernier message: 16/03/2012, 03h29
  4. Réponses: 1
    Dernier message: 03/07/2008, 20h48
  5. Autres méthodes pour remplacer des If
    Par carlou135 dans le forum C++
    Réponses: 7
    Dernier message: 17/01/2007, 02h44

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