UnBouton.addEventListener(MouseEvent.CLICK, onclick(Event, String)); Impossible

Résolu
Okutsuko Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 3 février 2011 - 31 janv. 2011 à 16:55
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 :)

2 réponses

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,

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 :).
3
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
3 févr. 2011 à 11:07
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.
0
Rejoignez-nous