Sur AS3 : Timer + TypeError: Error #1009: Il est impossible d'accéder à la propr [Résolu]

Signaler
Messages postés
12
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2010
-
Messages postés
12
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2010
-
Bonjour à tous,

Voilà, j'ai l'erreur suivante sur mon animation: 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 calendrierAventFinal4Timereset_fla::MainTimeline/apparaitre2();

En fait voici mon code que j'utilise 25 fois (parceque pour l'instant je bloque sur les boucles il n'est donc pas optimisé) :
deco3.addEventListener(MouseEvent.MOUSE_DOWN,apparaitre3);
function apparaitre3(evt:MouseEvent){
deco3.alpha=100;
num3.alpha=0;

var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("utils/sons/tilk.mp3");
ecoute.load(adresseFichierSon); //chargement puis lecture du son
ecoute.play();
monTimer.reset();
var monTimer:Timer = new Timer(1500); // délai pour débloquer la déco suivante
monTimer.addEventListener(TimerEvent.TIMER, timerHandler);
monTimer.start();
function timerHandler(evt:TimerEvent):void {
deco4.mouseEnabled=true;
}

}
Il s'agit surement d'un problème de Timer reset que je ne sais pas comment régler...Au secours !!!!
Pouvez vous m'aider, please?

Merci d'avance.

6 réponses

Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
8
bonjour,

Pourquoi nous donnes-tu la fonction "apparaitre3" alors que l'erreur se situe sur "MainTimeline/apparaitre2" comme indiqué ?

Peg'
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
8
l'erreur t'explique que tu essaye d'accéder à une propriété d'un objet qui a été défini mais qui n'est pas disponible lors de cet appel ... le soucis c'est que comme tes objets sont sur ta timeline, il est impossible pour nous de savoir la raison de ton soucis.

Peg'
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
8
voir quelle est al propriété à laquelel tu essayes d'accéder et faire en sorte que l'objet ciblé soit accessible à ce moment-là.

Pas facile de t'en dire plus.

Peg'
Messages postés
12
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2010

OUps, pardon, en fait ça n'y change rien, c'est le même code mais apparaitre2() se bloque avant apparaitre3().

En fait je viens de résoudre en partie mon problème (je ne sais pas trop quelle est la différence mais j'ai moins d'erreurs) : j'ai remplacé TimerEvent.TIMER par TimerEvent.TIMER_COMPLETE :

deco2.addEventListener(MouseEvent.MOUSE_DOWN,apparaitre2);
function apparaitre2(evt:MouseEvent){
deco2.alpha=100;
num2.alpha=0;

var ecoute:Sound = new Sound();
var adresseFichierSon:URLRequest = new URLRequest("utils/sons/tilk.mp3");
ecoute.load(adresseFichierSon); //chargement puis lecture du son
ecoute.play();

var monTimer:Timer = new Timer(1500,1); // délai pour débloquer la déco suivante
monTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandler);
monTimer.start();
function timerHandler(evt:TimerEvent):void {
//trace("timerHandler: " + evt);
deco3.mouseEnabled=true;
}
n++;
//trace(n);
}

Cependant j'ai encore une erreur :
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 calendrierAventFinal4Timereset_fla::MainTimeline/calendrierAventFinal4Timereset_fla::frame6()

Il faut savoir que mon code ci-dessus est placé sur l'image 6 de ma timeline, ais du coup l'erreur n'est plus pointé et je ne sais pas ce qui cloche...
Messages postés
12
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2010

Merci Peg pour ton avis, comment je peux faire alors pour avancer?
Messages postés
12
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2010

Heu, pardon mais je ne vois pas comment faire là comme ça... Tu as besoin de quoi?
Si je met tout mon code qui pose problème et que j'explique ce que j'ai fait ou veux faire, ça suffit?