Aide - Recherche - Membres - Calendrier
Version complète : Error #1009 - mon bouton ne fonctionne pas
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Programmation Actionscript > Actionscript 3
Music-Speed
Bonjour,
j'ai un petit problème mais bien embêtant,
mon code actionscript que voici :

Action Script

stop();

function clickBoutonPresentation(evt:Event):void{
this.mVideoPresentation.gotoAndPlay(2);
}

this.mBoutonPresentation.addEventListener(MouseEvent.CLICK, clickBoutonPresentation)

function clickBoutonPartieI(evt:Event):void{
this.mPartieI.gotoAndPlay(2);
}

this.mBoutonPartieI.addEventListener(MouseEvent.CLICK, clickBoutonPartieI)

function clickBoutonOzone(evt:Event):void{
this.mPartieI.gotoAndPlay(101);
}

this.mPartieI.mBoutonOzone.addEventListener(MouseEvent.CLICK, clickBoutonOzone)


me sert à actionner des clips avec des boutons.
Seulement voilà, quand mon bouton (en l'occurence mBoutonOzone) n'est plus dans la scène de départ mais dans un movieclip,
il me met cette erreur dans le panneau sortie et quand je clique sur le bouton, rien ne se passe :

Action Script

TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at tpe_fla::MainTimeline/frame1()


Merci d'avance pour votre aide.

Amicalement Music-Speed
stealth35
this["mBoutonPresentation"]

change tout les autres variable de la meme facon
nicoptere
salut,
le message d'erreur dit qu'il cherche à accéder à un objet qui n'existe pas.
si tu as déplacé un cliip qu'il est censé trouver à côté de lui, ça ne va pas marcher.
il faut déplacer tout le code là où tu as déplacé le clip (le plus simple) soit cibler le clip qui était à côté du code à sa nouvelle position:

nomNouveauClip.mBoutonOzone.blabla

le fait de dire:
this[ 'mBoutonOzone' ]
est une autre manière de cibler mBoutonOzone sur la scène mais sera invalide si mBoutonOzone n'est plus dans this mais dans un autre clip sur this.
Music-Speed
Citation (nicoptere @ Nov 24 2008, 11:46 PM) *
salut,
le message d'erreur dit qu'il cherche à accéder à un objet qui n'existe pas.
si tu as déplacé un cliip qu'il est censé trouver à côté de lui, ça ne va pas marcher.
il faut déplacer tout le code là où tu as déplacé le clip (le plus simple) soit cibler le clip qui était à côté du code à sa nouvelle position:

nomNouveauClip.mBoutonOzone.blabla

le fait de dire:
this[ 'mBoutonOzone' ]
est une autre manière de cibler mBoutonOzone sur la scène mais sera invalide si mBoutonOzone n'est plus dans this mais dans un autre clip sur this.


Donc en fait je ne mets pas le "this"
stealth35
test
Music-Speed
Non ça ne fonctionne pas
Que puis-je faire ?

Amicalement
Music-Speed
stealth35
suis ce que ta dis nicoptere, si le bouton n'est pa au bon endroit ca marchera pas
Music-Speed
J'ai recopié le code dans une image clé d'un nouveau calque du movieclip où il y a mBoutonOzone.

Ca ne fonctionne pas.

En attente d'autre réponses.

Merci

Music-Speed
Music-Speed
Bon je me réexplique plus clairement.

J'ai mon interface de base avec 4 calques (de bas en haut) :
- fond : c'est où il y a le symbole movieclip de mon fond
- boutons : c'est où il y a les 5 symbole movieclip des boutons
- partie_I : c'est où il y a un sybloe movieclip qui contient le contenu du bouton partie I (ce bouton se trouve dans le calque boutons)
- AS root : une seule image clé où il y a lme code ActionScript 3.0

Dans partie_I j'ai plusieurs calque dont un bouton le fameux bouton mBoutonOzone.
Logiquement si le nom d'occurence du movieclip partie_I est mPartieI alors lcode à la fin devrait être :

Action Script

this.mPartieI.mBoutonOzone.addEventListener(MouseEvent.CLICK, la_fonction_attribuée);


Mais cela ne fonctionne pas, il me mets l'erreur #1009 indiquée au-dessus.

J'espère que ces précisions vous aiderons à trouver mon problème.

Merci d'avance
Music-Speed
bernie66
difficile de voir ce que tu recherche a faire essaye de t'aide avec les trace
trace(this)
trace(this.mPartieI)
trace(this.mPartieI.mBoutonOzone)
regarde ce que sa te renvois et a partir de ou sa coince dans ton ciblage.
ou envois le fla++
Music-Speed
J'ai résolu mon problème car le bouton était quelques images clés plus loin dans le clip. Merci de vos réponses.
J'ai fait un réagencement.

Par contre j'ai une autre question, je voudrait que quand on clique sur un bouton, l'animation de la fentre s'affiche puis les boutons devient opaques.
Je ne sais pas avec quel rajout de code je peux faire ça car pour l'instant ça s'affiche en même temps.
Voila mon code :

Action Script


function clickBoutonPartieI(evt:Event):void {
this.mPartieI.mFondAniméPartieI.gotoAndPlay(2); //ici animation du fond
this.mPartieI.mBoutonOzone.gotoAndPlay(2); //l'opacité du bouton devient a 100% (j'aimerai que ce bout de code s'enclenche quand l'autre a fini(ligne du dessus))
}

this.mBoutonPartieI.addEventListener(MouseEvent.CLICK,clickBoutonPartieI);


Faut-il rajouter une condition ?

icon_mrgreen.gif Merci d'avance icon_mrgreen.gif
Music-Speed
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.