Besoin d'aide pour reécrire un code

Résolu
mikile Messages postés 45 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 juillet 2012 - 17 nov. 2009 à 17:28
mikile Messages postés 45 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 juillet 2012 - 20 nov. 2009 à 18:04
Bonjour à tous!!

Suite à l'achat d'un site, j'essaie peu à peu de le modifier.
Malheureusement, je n'avance plus à cause d'un bout de code que voici:
var extraHeaderButtons:extraHeaderBtns = new extraHeaderBtns();
//----------------Init function is loaded after bg image / header / footer have been loaded-------------------------//
function init():void {
//add a listener for the stage resize event if this is the first load
stage.addEventListener(Event.RESIZE, resizeListener);
//Add all navigation buttons
extraHeaderButtons.x = StageWidth - 170;
extraHeaderButtons.y = StageHeight - 29;
addChild(extraHeaderButtons);
footerButtons.x = 10 ;
footerButtons.y = StageHeight - 26;
addChild(footerButtons);
resizeListener(null);
getMainNavButtons();

loadIntro();
}
footerButtons.playlist.addEventListener(MouseEvent.CLICK, playlist);
//----------------Assign Properties to EXTRA HEADER BUTTONS-------------------------//
extraHeaderButtons.bg1.addEventListener(MouseEvent.CLICK,loadNewBg);
extraHeaderButtons.bg2.addEventListener(MouseEvent.CLICK,loadNewBg);
extraHeaderButtons.bg3.addEventListener(MouseEvent.CLICK,loadNewBg);
extraHeaderButtons.fs.addEventListener(MouseEvent.CLICK,fullScreen);

extraHeaderButtons.bg1.buttonMode extraHeaderButtons.bg2.buttonMode extraHeaderButtons.bg3.buttonMode = extraHeaderButtons.fs.buttonMode = true;
extraHeaderButtons.bg1.mouseChildren extraHeaderButtons.bg2.mouseChildren extraHeaderButtons.bg3.mouseChildren = extraHeaderButtons.fs.mouseChildren = false;
//assign the xmlist index of each wallpaper button to the data property
//so when we call loadNewBg flash knows which URL to load
extraHeaderButtons.bg1.data = 4;
extraHeaderButtons.bg2.data = 5;
extraHeaderButtons.bg3.data = 6;

Pour résumer brièvement, j'ai trois boutons(MC et instance bg1,bg2,bg3) au bas de la page qui permettent de charger 3 fonds différents.
Cette fonction ne m'intéresse pas et je voudrai incorporer à chaques boutons un link.
Etant débutant en AS3, j'ai quelques notions de AS2 mais malheuresement le geturl ne me sers plus à rien.
Je crois savoir que
navigateToUrl(new URLRequest (http://XXXXX.com));</code>remplace le geturl.

Je sais qu'en faisant un truc simple, ça marcherait sûrement (ou pas)
function open (e:Event) : void
{
navigateToUrl(new URLRequest (http://XXXXX.com));
}
bouton.addEventListener(MouseEvent,CLICK,open);

Malheureusement, je ne sais pas comment m'y prendre. Merci à tous.

7 réponses

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
18 nov. 2009 à 12:25
Salut

C'est extactement ça !

function open (e:MouseEvent) : void
{
   navigateToUrl(new URLRequest ("http://XXXXX.com"));
}
bouton.addEventListener(MouseEvent.CLICK,open);


Les 3 boutons bg peuvent avoir le même écouteur, par contre faut juste changer l'url.

Donc au final t'aurais un truc du genre :

var urls:Array = [];
urls[bg1] = "http://www.link1.com";
urls[bg2] = "http://www.link2.com";
urls[bg3] = "http://www.link3.com";

function open (e:MouseEvent) : void
{
   navigateToUrl(new URLRequest (urls[e.target]));
}
bg1.addEventListener(MouseEvent.CLICK,open);
bg2.addEventListener(MouseEvent.CLICK,open);
bg3.addEventListener(MouseEvent.CLICK,open);


explication : A la place de l'url en dure, on a spécifié urls[e.target], car e.target récupère le bouton, et comme déclaré plus haut, par ex pour le bouton bg2 : urls[bg2] = "http://www.link2.com";

En espérant t'avoir aidé.
3
mikile Messages postés 45 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 juillet 2012
18 nov. 2009 à 15:24
Un super grand merci à toi dj_ouf.
Ce soir, je ferai un test.
Encore merci.
0
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
19 nov. 2009 à 09:43
ok, dis nous en nous plus si c'est opérationnel
0
mikile Messages postés 45 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 juillet 2012
19 nov. 2009 à 14:48
Bonjour!

Désolé pour hier soir, je viens juste de faire un essai et j'obtiens l'erreur 1180 (1180: Call to a possibly undefined method navigateToUrl.Je n'arrive pas à cerner le problème.

Je te remets le code après modif. :
var extraHeaderButtons:extraHeaderBtns = new extraHeaderBtns();
var urls:Array = [];
urls[extraHeaderButtons.bg1] = "http://www.link1.com";
urls[extraHeaderButtons.bg2] = "http://www.link2.com";
urls[extraHeaderButtons.bg3] = "http://www.link3.com";
//----------------Init function is loaded after bg image / header / footer have been loaded-------------------------//
function init():void {
//add a listener for the stage resize event if this is the first load
stage.addEventListener(Event.RESIZE, resizeListener);
//Add all navigation buttons
extraHeaderButtons.x = StageWidth - 170;
extraHeaderButtons.y = StageHeight - 29;
addChild(extraHeaderButtons);
footerButtons.x = 10 ;
footerButtons.y = StageHeight - 26;
addChild(footerButtons);
resizeListener(null);
getMainNavButtons();
loadIntro();
}
function open (e:MouseEvent) : void
{
   navigateToUrl(new URLRequest (urls[e.target]));
}
extraHeaderButtons.bg1.addEventListener(MouseEvent.CLICK,open);
extraHeaderButtons.bg2.addEventListener(MouseEvent.CLICK,open);
extraHeaderButtons.bg3.addEventListener(MouseEvent.CLICK,open);
footerButtons.playlist.addEventListener(MouseEvent.CLICK, playlist);
//----------------Assign Properties to EXTRA HEADER BUTTONS-------------------------//
extraHeaderButtons.bg1.addEventListener(MouseEvent.CLICK,loadNewBg);
extraHeaderButtons.bg2.addEventListener(MouseEvent.CLICK,loadNewBg);
extraHeaderButtons.bg3.addEventListener(MouseEvent.CLICK,loadNewBg);
extraHeaderButtons.fs.addEventListener(MouseEvent.CLICK,fullScreen);

extraHeaderButtons.bg1.buttonMode extraHeaderButtons.bg2.buttonMode extraHeaderButtons.bg3.buttonMode = extraHeaderButtons.fs.buttonMode = true;
extraHeaderButtons.bg1.mouseChildren extraHeaderButtons.bg2.mouseChildren extraHeaderButtons.bg3.mouseChildren = extraHeaderButtons.fs.mouseChildren = false;
//assign the xmlist index of each wallpaper button to the data property
//so when we call loadNewBg flash knows which URL to load
extraHeaderButtons.bg1.data = 4;
extraHeaderButtons.bg2.data = 5;
extraHeaderButtons.bg3.data = 6;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
20 nov. 2009 à 09:42
C'est navigateToURL
Simple erreur de casse.
0
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
20 nov. 2009 à 09:47
Tiens j'ai vu que tu as attribué les propriétés data aux 3 boutons. Et dans ce cas ça serait simple de leur attribuer les url directement, plutôt que dans un tableau (et les nommer 'link', car 'url' est une propriété réservée)

ex :
extraHeaderButtons.bg1.link = "http://www.link1.com";


Et dans la fonction open :
navigateToURL(new URLRequest(e.target.link));
0
mikile Messages postés 45 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 juillet 2012
20 nov. 2009 à 18:04
Salut à toi dj_ouf!

Merci, ça marche nickel.
Bon y a 1 ou deux trucs que je dois virer concernant les fonds et pis voîla...
Par contre durant le week-end, je reviendrai certainement avec un nouveau fil sur un logo qui devrait occuper en vertical la partie gauche de l'écran tout en s'adaptant au format de ce dernier...
Et maintenant que j'y pense, le Playlist aura aussi un fil.
Encore merci pour ton aide, super sympa.
0
Rejoignez-nous