UnBouton.addEventListener(MouseEvent.CLICK, onclick(Event, String)); Impossible [Résolu]

Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011
- - Dernière réponse : Okutsuko
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011
- 3 févr. 2011 à 13:58
Bonjour tout le monde,

Je rencontre actuellement un petit problème en AS3, j'ai fais une boucle pour créer plusieurs boutons, et je veux ajouter des évènements à ces boutons, sur chaque boutons, je veux pouvoir cliquer pour être dirigé vers une adresse internet différente. Je voudrais donc écrire cela dans boucle:

unBouton.addEventListener(MouseEvent.CLICK, onclic(Event, variable contenant l'adresse));

Ma fonction onclic étant:

function onClic(pEvt:Event, adr:String):void
{
var annuaire:URLRequest = new URLRequest( adr );
    navigateToURL ( annuaire );
}

Mais cela n'est pas possible car la fonction doit avoir un paramètre unique Event, comment dois-je faire svp ? Merci :)
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
21
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
3 février 2011
3
Merci
Bonjour,

Merci de ta réponse, j'ai finalement réussi à trouver une solution. J'ai nommé les bouton "bouton"+[i] et j'ai joué avec ça pour mettre la bonne adresse dans chaque bouton. Merci bonne journée :).

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 204 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Okutsuko
Messages postés
1637
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
21 février 2011
2
0
Merci
Ola,
Non ca tu ne peux pas, dans la définition de l'écouteur, mettre un appelle à une fonction.
Cela équivaut à exécuter la fonction "click" lorsque tu définis l'écouteur.
le plus simple je pense est de te faire un objet, ou un tableau, de correspondances :

var corres:Object = {};
corres.unBouton = 'http://mon.url'; // unBouton le nom d'occurence du bouton (property name)
corres.boutonDeux = 'http://autre.url';

// ecouteurs
unBouton.addEventListener(MouseEvent.CLICK, click);
boutonDeux.addEventListener(MouseEvent.CLICK, click);

// la fct
function click(event:MouseEvent):void {
var url:String = corres[event.currentTarget.name];
var rq:URLRequest = new URLRequest(url);
navigateToURL(rq);
}

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
Commenter la réponse de _benjy