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 :

(Débutant) 1 fonction pour lancer les liens des différents boutons


Sujet :

ActionScript 3

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut (Débutant) 1 fonction pour lancer les liens des différents boutons
    Salut!
    Bon, j'me met doucement à Action Script (version3)...
    J'ai trouvé comment "écouter" les click sur 1 bouton.
    Maintenant j'aimerais automatiser pour ... N boutons.
    Donc, voici la routine suivante:

    var bouton1URL:String = "http://www.blogdeloulou.com/";

    function bouton1Listener(event:Event):void {
    var url:URLRequest = new URLRequest(event.target.name+"URL");
    navigateToURL(url,"_blank");
    }

    bouton1.addEventListener(MouseEvent.CLICK,bouton1Listener);


    // je crée sur ma scène un BOUTON nommé "bouton1".
    // je veux que lors du clic sur bouton1, une nouvelle fenêtre s'affiche avec le lien correspondant.
    // Le fait est que je vais avoir bouton2, bouton3, ..., boutonN, et qu'à chacun correspond un lien différent.
    // Je souhaite avoir une fonction qui ajoute "URL" au nom du bouton clické pour tomber sur la variable
    // chaîne boutonNURL contenant le bon lien.
    // Bon, la commande event.target.name+"URL" me renvoie bien ici "bouton1URL", mais l'interpréteur ne
    // fait pas le rapport avec ma variable bouton1URL
    // ???????????
    // HELP PLEASE
    Voili. Comment je peux faire comprendre à l'interpréteur que "bouton1URL" correspond à ma variable?

    Merci

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Toujours rien ?
    Bon bé j'n'ai plus qu'à m'acheter un bouquin sur AS3 moé

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 36
    Points
    36
    Par défaut
    Salut !

    Une solution possible :
    Tu créés un tableaux avec tes URLs et tu ajoutes tes écouteurs dans une boucle.
    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
     
    var i:int = new int();
    var numero:int = new int();
    var tableauUrl:Array = new Array();
    var conteneur:Loader = new Loader();
     
    tableauUrl[1] = "anim1.swf";
    tableauUrl[2] = "anim2.swf";
    tableauUrl[3] = "anim3.swf";
     
    for (i = 1; i < 4; i++){
    this["bouton"+i].numero = i;
    this["bouton"+i].addEventListener(MouseEvent.CLICK, clickBouton);
    }
     
    function clickBouton (evt:MouseEvent){
    conteneur.load(new URLRequest ( tableauUrl[evt.currentTarget.numero] ));
    conteneur.contentLoaderInfo.addEventListener(Event.COMPLETE, afficheAnim);
    }
     
    function afficheAnim (evt:Event){
    this.addChild(conteneur);
    conteneur.contentLoaderInfo.removeEventListener(Event.COMPLETE, afficheAnim);
    }

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Excellent!
    MERCI BEAUCOUP


    Si quelqu'un a tout de même une soluce pour faire comprendre à l'interpréteur AS3 qu'il a affaire à une varible et non à une chaîne de caractère, je suis preneur.....

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Heu, dis, j'obtiens un message d'erreur là
    ???
    Bon, je reprend:
    je crée 3 symboles BOUTON que je nomme bouton1, bouton2, bouton3.
    je tape le script plus haut.
    j'obtiens le message
    "impossible de créer la propriété "numero" sur flash.display.SimpleButton"
    ???
    C'est moi qui n'ai rien compris ou il y a vraiment 1 bug
    ???

    à +

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 36
    Points
    36
    Par défaut
    Dans l'exemple ci-dessus, bouton est de type MovieClip et non SimpleButton.
    L'erreur doit venir de là...

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/04/2008, 14h30
  2. Réponses: 6
    Dernier message: 21/04/2008, 18h49
  3. Réponses: 7
    Dernier message: 03/04/2008, 22h31
  4. Réponses: 2
    Dernier message: 08/08/2007, 08h57
  5. Fonction pour lancer les applications standards
    Par black is beautiful dans le forum Windows
    Réponses: 4
    Dernier message: 08/03/2006, 15h47

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